Jmeter - 性能指标(CPU、内存)监控
通过实时监控服务器资源的使用情况,可以准确把握不同测试场景下,服务器资源消耗情况的变化。对于应用性能分析有着重要的作用;同时也是调整测试场景设计的重要依据。
监控服务器的性能指标,如下三种方法:
方法一:使用jmeter的插件PerfMon Metrics Collector
方法二:使用nmon独立监控方案(http://nmon.sourceforge.net/pmwiki.php)
方法三:使用top、free等命令
本文主要介绍方法一。使用PerfMon由两部分组成:
1. ServerAgent:部署在被测服务器,负责资源耗用数据的采集
2. PerfMon:以插件形式集成到jmeter,作为一个监听器listener
环境部署
1. ServerAgent部署
下载地址:https://github.com/undera/perfmon-agent
将下载的.zip文件放到被测服务器任意位置,解压,直接运行即可(默认端口:4444)
linux:nohup ./startAgent.sh & (使用nohup令其在后台运行)
windows:startAgent.bat
2. PerfMon插件安装
方法一:使用Plugins Manager(对jmeter插件进行集中管理)
1)下载地址:http://jmeter-plugins.org/get/,下载后得到一个jar文件jmeter-plugins-manager-1.7.jar
2)将下载得到的jar文件放在jmeter的 lib/ext目录下
3)重启jmeter
4)菜单栏 -> Options -> Plugin Manager,进入插件管理页
5)选择需要的插件进行安装
方法二:直接下载所需插件,将插件的jar包放在jmeter的 /lib/ext目录下,重启jmeter即可
下载路径;https://jmeter-plugins.org/
使用方法
1. 添加监听器
2. 配置监听器
在上图中配置所要监听的服务器ip、端口、监听指标,就可以直接在窗口观察到根据采集数据描绘的图形
也可以配置监听结果文件,测试结束后,再在插件界面载入这个文件,即可展示图形
指标说明
可以通过Metric Parameter来设置,入口:下图红框中的位置,双击输入框 -> 点击最右侧的三个点
CPU:
1. chart图中,数值都代表百分比
2. Scope区域,可以通过Per Process设置来获取指定进程的CPU使用情况
3. CPU Core区域,可以监控指定的单个Core
Memory:
1. usedperc和freeperc,都代表百分比
2. 其他的指内存大小,可以在Metric Unit中设置Kb、Mb等易于查看
3. Scope区域,设置查看指定进程的内存情况
Disks I/O:
1. queue代表等待I/O队列长度,reads/writes代表每秒处理的读/写次数,readbytes/writebytes代表每秒读/写的数据量,单位可以在Metric Unit中设置
2. 如果挂在多个存储设备,可以在Filesystem Filter区域指定要监控的设备
Settings:
1. use relative times,设置曲线图x轴,表示相对时间还是实际时间
2. auto-zoom rows for best fit,默认勾选,如果有多个指标在一个图上时,可以自动放大(x10)
3. limit number of points in row to xx points,当数据多时,可采样展示,表示采样点数
4. force maximum Y axis value to xx,设置固定的y轴最大值,不自动调整(一般不勾选)
ps:
1. 用于展示TPS曲线的插件:Transaction per Second 下载地址:https://jmeter-plugins.org/wiki/TransactionsPerSecond/
2. 用于展示响应时间曲线的插件:Response Time Over Time 下载地址:https://jmeter-plugins.org/wiki/ResponseTimesOverTime/