遇到的问题
- JMeter测试计划中只设置了一个性能监控器
jp@gc - PerfMon Metrics Collector
; - 在这个监控器中设置几个性能监控指标,比如
CPU、DiskIO、Mem
等,如下:
- 此时使用命令行模式,进行压测,比如:
jmeter -n -t F:\jmeter_test\jmeter_script\50devices.jmx -l F:\jmeter_test\jmeter_result\ -e -o F:\jmeter_test\jmeter_report
- 运行以上命令后会在
F:\jmeter_test\jmeter_result\
下生成一个jtl文件,此时,使用以下命令进行jtl图片转换:
JMeterPluginsCMD --generate-png F:\jmeter_test\jmeter_picture\picture.png --init-jtl F:\jmeter_test\jmeter_result\50devices.jtl --plugin-type PerfMon --width 800 --height 600
- 生成后的图片发现会把所有的监控指标显示在一个图片上:
- 我们的问题是需要吧这几个性能指标显示在不同的图片上,即单独显示。
解决方法
- 方法是:在jmeter测试计划中添加多个
jp@gc - PerfMon Metrics Collector
监控器; - 每个监控器只监测一个性能指标,如下:
- 并且每个监控器下数据保存在不同的文件名下即可,比如:
- 并且每个监控器下数据保存在不同的文件名下即可,比如:
查看修改效果
- 使用命令行模式,进行压测,比如:
jmeter -n -t F:\jmeter_test\jmeter_script\50devices.jmx -l F:\jmeter_test\jmeter_result\ -e -o F:\jmeter_test\jmeter_report
- 此时会在
F:\jmeter_test\jmeter_result\
下生成多个jtl
文件,如下: - 再次使用以下命令进行
jtl
图片转换:
JMeterPluginsCMD --generate-png F:\jmeter_test\jmeter_picture\picture.png --init-jtl F:\jmeter_test\jmeter_result\ --plugin-type PerfMon --width 800 --height 600
在特别注意:如果提示 F:\jmeter_test\jmeter_result\下不能为空,可以在以上命令的F:\jmeter_test\jmeter_result\后加一个11.jtl,比如F:\jmeter_test\jmeter_result\11.jtl,不影响结果的生成。
另外以上命令需要执行多次,准备生成哪个指标的图片就运行对应的命令,比如:
# CPU:
JMeterPluginsCMD --generate-png F:\jmeter_test\jmeter_picture\picture-cpu.png --init-jtl F:\jmeter_test\jmeter_result\50devices-cpu.jtl --plugin-type PerfMon --width 800 --height 600
# Mem
JMeterPluginsCMD --generate-png F:\jmeter_test\jmeter_picture\picture-mem.png --init-jtl F:\jmeter_test\jmeter_result\50devices-mem.jtl --plugin-type PerfMon --width 800 --height 600
- 此时会在对应的目录下生成多个指标的图片,如下: