Jmeter性能测试和隐晦的坑
Jmeter本身的坑
- 4.0版本会把斜杠
/
自动转成反斜杠\
导致在linux下无法执行;无法对大体积的jtl进行绘图 - 5.0版本有时画图会报错
- 5.3版本不兼容5.0版本
- kill掉jmeter进程后,还会有ApacheJmeter.jar的进程,要一并kill掉
性能测试要注意的点
- 稳定性测试要做日志的定时清理
- 大量数据的插入和删除后要做表分析,重建索引等操作
- 涉及到对接第三方外呼的测试时,要做挡板
- 性能测试结束后要收尾(取消日志定时和取消挡板)
性能测试报告
- 性能测试有
- 基准测试 1u-60s
- 单负载测试 10u-300s
- 容量测试, 反复尝试不同的并发执行60s,找出性能最优点
一般而言,读和写的接口分开来测
- 故障测试,对于负载均衡的测试,关掉其中一台机器,不影响正常功能
- 稳定性测试,读+写接口的混合测试12小时,读的tps和写的tps均模拟生产要求,并发数为容量测试的最佳性能点
- 报告上
- 注意95line、99line等指标
- 故障测试主要是通过TPS的图来体现
- 稳定性测试主要通过平均响应时间的图来体现
- 最后附件可以附上原始的html报告截图
性能测试常见命令
# 跑命令
jmeter -n -t myTest.jmx -l myReport.jtl
# 跑命令带画图
jmeter -n -t myTest.jmx -l myReport.jtl -e -o myHtmlDir
# 跑命令带参数
# 提前写好${__P(thread,)}等
jmeter -n -t myTest.jmx -Jthread=10 -l myReport.jtl
# 根据jtl出图
jmeter -g myReport.jtl -o myHtmlDir
-- 重建索引
alter index myIndex reuild;
-- 表分析
analyze table myTable compute statistics;
性能测试:动态报文长度处理方法
加密报文的测试-预置处理器
忽略Http Status响应码
How to Use JMeter Assertions in Three Easy Steps | Blazemeter by Perforce