Jmeter如何监控服务器CPU、内存、i/o等资源
一、要准备好的插件:JMeterPlugins-Standard-1.4.0(pwd:cjqd)、ServerAgent-2.2.1(pwd:pxui);
二、解压JMeterPlugins-Standard-1.4.0.zip,将其中\lib\ext\JMeterPlugins-Standard.jar包复制到jmeter安装目录下的\lib\ext下;
三、重启jmeter,选择监听器,我们可以看到监听器中多了一些东西(这里边就有我们监控要用到的功能),如下图所示:

四、选择上图中的jp@gc-PerfMon Metrics Collector,这个就是我们监控服务器资源的功能,点击之后如下图:

五、到此,我们监控的工作准备的差不多了,还差一个重要的卧底,那就是ServerAgent,我们需要将它放到服务器中,解压下来打开如下图所示:

ps:如果你的服务器是windows,那么直接运行startAgent.bat文件即可;如果你的服务器是linux,那么需要运行startAgent.sh文件即可(运行方式:找到startAgent.sh文件所在路径,打开终端命令行,保险起见可以先将startAgent.sh设置成可执行文件:chmod 777 startAgent.sh,然后执行命令:./startAgent.sh,这样我们的agent服务就启动了);
六、回到我们的jmeter界面,在jp@gc-PerfMon Metrics Collector中添加服务器的ip,选择监控的资源,如CPU、内存等,下面所有数据写入一个文件,选择浏览,jmeter会默认弹框文件存放路径和文件名,可以自己选择路径,注意文件名一定要改!一定不能和目前的脚本名称一致,否则当前辛苦写的脚本就一去不复返了!(因为它们的类型都是jmx文件,文件名一致当然就覆盖了!)接下来运行脚本一段时间,可以看到服务器的CPU和内存的一个使用情况,如下图所示:

四、设计测试脚本(以注册为例)
1.对手机号进行随机函数参数化
2.线程组设置压力
3.添加监听器jp@gc - PerfMon Metrics Collector


五、设置监控资源
ps:给大家介绍一些常用的组件
jp@gc - Bytes Throughput Over Time:不同时间吞吐量展示(图表)。聚合报告里,Throughput是按请求个数来展示的,比如说1.9/sec,就是每s发送1.9个请求;而这里的展示是按字节Bytes来展示的图表
jp@gc - Composite Graph: 混合图表,在它的Graphs里面可以设置多少个图表一起展示,它可以同时展示多个图表
jp@gc - Hits per Second:每秒点击量
jp@gc - PerfMon Metrics Collector:服务器性能监测控件,包括CPU,Memory,Network,I/O等等
jp@gc - Reponse Latencies Over Time:记录客户端发送请求完成后,服务器端返回请求之前这段时间
jp@gc - Reponse Times Distribution: 显示测试的响应时间分布,X轴显示由时间间隔分组的响应时间,Y轴包含每个区间的样本数
jp@gc - Transactions per Second: 每秒事务数,服务器每秒处理的事务数

六、执行测试,查看监控结果

ps:当执行完成后,服务器上可以看到监控资源请求,提示Client disconnected表示监控资源结束

到此,已正常完成服务器的cpu,内存等监控。
然后可以结合聚合报告,一起分析去分析服务器的性能拉!!
写在最后,如果执行监控遇到报错信息:
java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter
请更换低版本Jmeter。
亲测
1.4.0版本的Extras和Standard
2.2.3版本的ServerAgent
兼容3.2版本

浙公网安备 33010602011771号