jmeter第五节之性能调优以及分析帮助开发定位性能问题方法

前提:要知道性能的四个重大指标  CPU 内存   IO 网络   IO 指磁盘的读写  

一般常用看你电脑卡不卡 -看cpu 

比如你电脑是4核的,物理核4核,代表你电脑在同一时间内可以完全并发四个人 ,实际不是这样的

如果你的进程多了,十六个人有三十二个活,肯定有一个人多干几个活 

如果物理核4核,逻辑核8核,每个核可以同时并发两个线程 ,实际是4核  但是一般都当8核用  

windows查看方法,任务管理器 性能 

 

 linux 查看核数  

如何查询CPU信息:

在linux下, /proc/cpuinfo文件中读取CPU信息

查看 CPU 个数:

cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc –l

查看 CPU 物理核数:

cat /proc/cpuinfo | grep 'cpu cores' | sort | uniq

查看 CPU 逻辑核数:

cat /proc/cpuinfo | grep 'siblings' | sort | uniq

cpu的使用率和平均负载的问题?????????

cpu 70%啥意思呢,百分之70的时间点cpu在干活 

举个简单例子,在单处理器中,任务1,先工作10ms,任务2再工作30ms,之后CPU空闲60ms。则此100ms时间段内,CPU的利用率就是40%

查cpu的命令?????

top: 用来监控Linux的系统状况,比如cpu、内存的使用

us代表用户的进程占了多少cpu   分析 如果用户比较高,说明电脑跑了应用程序占得比较多

sy 系统自己的应用程序                分析 sy 比较高,应该应用程序调了一些功能 比如读写 

id  空闲的时间  

如果你有多核cpu 按了top 你就按下1 会展示两个cpu  

查看平均负载  分别显示1分钟,五分钟,十五分钟的负载情况

 

 当前cpu正在运行和排队等待的CPU平均有几个 ,之前那个时间有几个等待    

平均负载更能看出一个人忙不忙 ,看分钟的间隔可以看到上升和下降趋势 

mpstat: 多核cpu性能分析工具,-P ALL监视所有cpu, 输出频率 x 秒   

mpstat 1 一秒刷新一次 

pidstat: 进程性能分析工具,-u 显示cpu利用率

实际场景:看看cpu 是否正常 常用思维 

场景一:你压测接口,发现tps上不去了  这时候top 看cpu  发现cpu 高了 90%  平均负载也大排队4个  这是真忙 也叫计算密集型    优化具体要看为什么忙  看代码调优  

场景二:cpu90%   平均负载低 4   这种情况还好  不是很常见  

场景三:cpu 55%  平均负载  15    这种情况 要经验看iowatit 

 

io高不高 等待磁盘读写占用百分比,如果这个高超过20%就很高了,有时候7%就高了正常5%或者没有,说明cpu 把大量时间放在磁盘读写上,因为等待磁盘读写不算cpu使用率 

场景四:cpu 55%  平均负载:3    不忙是正常的情况  

例子:

一.安装
yum install -y epel-release
yum install stress -y

场景一: CPU 密集型进程(计算密集型)

stress 是一个 Linux 系统压力测试工具,这里我们用作异常进程模拟平均负载升高的场景。

stress --cpu 1 --timeout 600  启动一个进程,不停计算一个随机数平方根数。600秒后结束

stress --cpu 2 --timeout 600

stress --cpu 3 --timeout 600

高平均负载 伴随着 高cpu使用率

场景二:I/O 密集型进程

stress -i 1 --timeout 600   启动一个进程,不停发送一个sync指令,将存于 buffer 中的资料强制写入硬盘中

stress -i 2 --timeout 600

stress -i 3 --timeout 600

高平均负载 伴随着 不是很高的cpu使用率

 

posted @ 2021-05-20 15:45  测试董先生  阅读(393)  评论(0编辑  收藏  举报