1 性能参数配置
1.1 为何要进行性能参数配置?
- 运行场景时,使用JMeter GUI方式会比较占用资源;
- 但其实两种运行方式都会占用资源;
- 所以可用其他方法提高负载机性能;
1.2 调整分析
- 因为JMeter为java开发,所以我们可以调整其性能,让其在java虚拟机上运行起来更流畅。
1.3 调整策略
打开%JMETER_HOME%\bin\jmeter.bat
,找到如下类似内容:
if not defined HEAP (
rem See the unix startup file for the rationale of the following parameters,
rem including some tuning recommendations
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
)
rem Uncomment this to generate GC verbose file with Java prior to 9
rem set VERBOSE_GC=-verbose:gc -Xloggc:gc_jmeter_%%p.log -XX:+PrintGCDetails -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintHeapAtGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps -XX:+PrintAdaptiveSizePolicy
rem Uncomment this to generate GC verbose file with Java 9 and above
rem set VERBOSE_GC=-Xlog:gc*,gc+age=trace,gc+heap=debug:file=gc_jmeter_%%p.log
rem You may want to add those settings
rem -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem
if not defined GC_ALGO (
set GC_ALGO=-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20
)
set SYSTEM_PROPS=-Djava.security.egd=file:/dev/urandom
rem Always dump on OOM (does not cost anything unless triggered)
set DUMP=-XX:+HeapDumpOnOutOfMemoryError
参数 |
说明 |
set HEAP |
设置JVM堆大小,-Xms为初始堆大小,-Xmx为最大堆大小, |
set DUMP |
当内存溢出时,DUMP的内存信息;当JVM崩溃后便于查看堆信息进行问题分析 |
2 测试监听
- 监听器承担监听任务,可统计吞吐量、响应时间等指标。
2.1 JMeter监听器
从软件上看,JMeter监听器有很多,后续内容详细再介绍。本文介绍长时间执行测试计划的两个监听器Summary Report
和Aggregate Report
。
2.1.1 Summary Report
- 点击【配置】按钮,可以对当前的表格进行自定义,自定义要保存的字段,如图:
字段 |
说明 |
Label |
事务名(取样器别名) |
#Samples |
即样本,取样器的运行次数 |
Average |
即平均值,请求(事务)的平均响应时间 |
Min |
即最小值,请求的最小响应时间 |
Max |
即最大值,请求的最大响应时间 |
Std.Dev. |
响应时间的标准偏差 |
Error% |
事务错误率 |
Throughput |
吞吐量,即TPS |
KB/sec |
每秒数据包流量,单位KB |
Avg.Bytes |
平均数据流量,单位Byte |
- 可以保存表格数据,如图,另外如果测试测试计划中有多个监听器,保存结果只需要在一个监听器设置即可。
2.1.2 Aggregate Report
字段 |
说明 |
Label |
请求别名 |
#Samples |
执行了多少次取样 |
Average |
即平均值,请求(事务)的平均响应时间 |
Min |
即最小值,请求的最小响应时间 |
Max |
即最大值,请求的最大响应时间 |
Median |
响应时间中间值 |
Error% |
错误率 |
Throughput |
吞吐量,即TPS |
KB/sec |
每秒数据包流量,单位KB |
2.2 开源监听插件
- JMeter Plugins增加众多的监听器,图形化丰富,功能强大;
- 可监听服务器硬件性能(CPU、内存等);
- 后续章节再学习。