1:性能测试监控到cpu使用率很高,如何定位问题?
1.1:top
1.2:vmstat
1.3:pidstat
1.4:定位代码 top,vmstat,pidstat 定位到进程号,
然后通过 top -H pid 得到线程
然后print %x +线程号 :把线程号转换成16进制。
然后jstack -p pid -h 16进制线程号 :得到线程的日志进行分析,来定位到代码。
2:性能测试,服务器或者是系统卡很卡但是资源利用率不高,如何定位?
2.1: top =wa wait io。
2.2:资源不够用,io(磁盘io或是网络io)问题
3:性能测试,复现啊in内存泄漏了如何定位?
1:jmap 通过jmap获取内存文件
2:或是 arthas 通过arthas获取内存文件
3:再通过MAT工具打开内存文件,打开后就可以定位到那个类。
4:性能测试,前期正常,后期报错。怎么分析?
4.1:看报错信息
4.2:看系统负载是否恢复正常后再开始进行性能测试的。-个人原因导致
4.3:看源端口是否够用-个人原因导致
4.4:根据报错信息,具体分析。
5:企业中的负载均衡,可能是多台机器(10),怎么对一个多个服务集群进行性能测试呢?
5.1:首先要有一个集群,按安装项目标准的集群环境搭建的标准,搭建一套集群环境
只是此时,集群的规模不要做的那么大,自己搭建一个最小的集群(至少是两个相同的服务构成一个集群)
然后,对该集群进行性能测试。得到该最小规模的集群的性能指标值
然后,再在集群中,添加服务。此时集群就有三个服务了。
然后再对集群进行一次性能测试。此时3个服务构成的集群的性能指标值。
这样tps增加了多少,并发用户数增加了多少都是可以算出来了。
理论上,就可以得出整个生产集群的tps值,并发用户数的值。