jmeter+nmon性能监控
安装nmon工具
将nmon添加可执行权限:chmod u+x nmon_x86_64_ubuntu15
执行命令:./nmon_x86_64_ubuntu15 -f -s 1 -c 100 (每1秒监控1次,一共监测100次)
生成脚本中存放路径的数据文件(.nmon文件)
第一种方式:可以在windows界面用nmonexcel.xlsm打开
Ø Sys_summ页,为服务器资源使用率汇总
我们需求的主要数据为cpu,mem,io和net。如下图:
将以上内容,如实填写至测试报告中。
Ø Cpu_all页,是服务器cpu使用率的详细数据
我们主要关注的内容为下图
Cpu使用率分为三部分,系统、用户和等待,分别对应图中红色(sys%)、蓝色(user%)和绿色(busy)部分。cpu使用率100%的情况,如果红色占大部分,说明系统进程本身占据大部分cpu资源,可考虑系统是否存在过多僵尸进程或者系统进程存在死循环等原因;如果蓝色占大部分,说明用户进程占用大量cpu资源,可考虑被压系统是否压力过大,或者被压系统存在大量运算等消耗cpu资源的操作。
故: CPU取CPU_ALL中User%的平均值:
Ø Net页 网络
Total read 每秒接收到的千字节的数目,如图蓝色部分
Total write 每秒发送的千字节的数目,如图红色部分
网络=Total read-Total write
网络的指标一般要根据设备来确定,百兆网卡的意思是每秒能够传输的网络流量是100Mbps,即最大的下载速度是12.5MB/s,一般服务器是千兆网卡,即125MB/s
故:net取 net页面中ens160-total字段平均值
Ø Mem页,是服务器内存使用率的概况。
图内蓝色线条为物理内存使用率,红色线条为虚拟内存使用率。我们统计的内存使用率为:(已用物理内存+已用虚拟内存)/(物理内存+虚拟内存)x100%。
故:内存取Mem中的active字段的平均值
Ø Disk_SUMM页,磁盘
Disk Read 每秒读的千字节数目 图中为蓝色部分
Disk Write 每秒写的千字节数目 图中为红色部分
IO/sec 每秒进行的IO数(一次IO就是控制操作一次读或写,IO块就是读或写的大小),图中为上方黑色的线,报告中写的是这个参数的值
第二种方式:可以在windows界面,jmeter打开的压测脚本中,插入JMeter插件(jp@gc - PerfMon Metrics Collector Server Agent 是将传递过来的数据以GUI形式展示的扩展插件)来监控服务器CPU、内存、磁盘、网络等相关资源
1.下载插件
1.登录https://jmeter-plugins.org/wiki/PerfMonAgent/下载ServerAgent-2.2.1.zip,解压可以直接运行
2.到https://jmeter-plugins.org/downloads/old/下载JMeterPlugins-Standard-1.4.0.zip和JMeterPlugins-Extras-1.4.0.zip
————————————————
版权声明:本文为CSDN博主「Cloud_Huan」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cloud_huan/article/details/72822621
其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的(运行在服务端起到获取相关性能数据并发送给jmeter)。
2.配置
将 JMeterPlugins-Standard-1.3.1.zip 中 lib\ext 目录下的 JmeterPlugins-Standard.jar 文件都放到apache-jmeter\lib\ext目录中。
将 JMeterPlugins-Extras-1.3.1.zip 中 lib\ext 目录下的 JMeterPlugins-Extras.jar 文件放到apache-jmeter\lib\ext目录中。
将 ServerAgent-2.2.1 放到要监控的服务器中待使用。
3.查看插件是否正常加载,如图:
其中jp@gc 开头的为加载插件后出现的。
4.运行 ServerAgent-2.2.1\bin\startAgent.bat(Linux使用startAgent.sh)
(默认端口为4444,也可以参数指定 –udp-port 4445 –tcp-port 4445)
可以看到输出内容如下:
5. 在JMeter 中的测试计划中,按上面的截图,添加监听器 “jp@gc - PerfMon Metrics Collector”
点击上面的启动按钮后,查看ServerAgent日志出现:
INFO 2016-02-23 21:34:46.966 [kg.apc.p] (): Accepting new TCP connection
INFO 2016-02-23 21:34:46.969 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2016-02-23 21:34:46.971 [kg.apc.p] (): Starting measures: cpu:
INFO 2016-02-23 21:34:47.123 [kg.apc.p] (): Client disconnected
运行jmeter时,成功连接然后立刻断开了,并没有获取我们想要的数据。猜想需要一个时间控制的元器件,使其能够获取一段时间的数据。
解决方法:
添加线程组,设置循环次数为”永远”;
为线程组任意添加一个Sampler(并不设置参数);
添加一个PerfMon Metrics Collector监听器;点击运行。(上面如果已经添加过,可直接使用无需再添加)
然后在 jp@gc - PerfMon Metrics Collector 界面,启动。
结果:成功获取chart图,点击stop,即结束监听数据,下面是截图。