第一次Jmeter压力测试报告
Jmeter压力测试报告
App首页、商品详情页、加入购物车页压力测试报告
时间:2019-03-03
目录
Jmeter压力测试报告... 1
一 测试内容... 2
二 测试方法... 2
三 测试目标... 2
四 测试环境... 2
五 性能测试结果与分析... 4
5.1 jmeter接口压测(200线程-循环8次-每个线程间隔6秒启动)... 4
5.2 jmeter接口压测(180线程-循环8次-每个线程间隔6秒启动)... 7
5.3 jmeter接口压测(150线程-循环8次-每个线程间隔6秒启动)... 9
5.4 jmeter接口压测(110线程-循环8次-每个线程间隔6秒启动)... 11
六 结果汇总分析... 13
本次测试是针对App部分接口进行的压力测试,在压测接口中只对首页、商品详情页、加入购物车页接口进行压力测试。
二 测试方法
本次采用apache的开源测试工具jmeter5.0,采用本地多个接口动态请求数据并通过http协议post方式发送请求。
三 测试目标
1) 获取最大平均访问时间在7秒以下的最大线程数
2) 获取被测接口最大吞吐量(TPS)
机器型号 |
操作系统 |
硬件cpu |
硬件mem |
|
客户端 |
华硕笔记本 |
windows |
I7-8550U 1.8GHz 1.99GHz |
8G |
服务端 |
aliyun |
linux |
4核 |
8G |
四 测试环境
由于客户端与服务端的机器性能优秀,暂不会对压测形成瓶颈,该方面影响可以忽略
五 性能测试结果与分析
5.1 jmeter接口压测(200线程-循环8次-每个线程间隔6秒启动)
启动200个进程,每秒进程启动33个线程,循环8次,并发为1600
5.1.1 聚合报告
Label |
#Samples |
Average |
Median |
90% |
95% |
99% |
Min |
Max |
Error% |
TPS |
KB/sec |
首页 |
1600 |
4065 |
4140 |
4659 |
4845 |
6309 |
42 |
7065 |
0.63% |
10.5 |
2.2 |
商品详情页 |
1600 |
10428 |
10808 |
11412 |
11895 |
12971 |
28 |
13721 |
1.44% |
10.3 |
2.1 |
加入购物车 |
1600 |
3835 |
3998 |
4506 |
4802 |
6131 |
22 |
6759 |
1.19% |
10.5 |
3.3 |
总体 |
4800 |
6110 |
4322 |
11027 |
11258 |
12356 |
22 |
13721 |
1.08% |
30.3 |
7.3 |
5.1.2 每秒的响应分布图
5.1.3 响应时间分布图
5.1.4 请求失败与成功分布图
5.1.5 结果分析
总笔数 |
Jmeter错误笔数 |
4800 |
43 |
- 在使用jmeter压测请求被F5转发到apache server代理上,由于链接线程过多造成长时间无响应,代理返回502 Proxy Error错误。
5.2 jmeter接口压测(118线程-循环8次-每个线程间隔6秒启动)
启动118个进程,每秒进程启动19个线程,循环8次,并发为944
5.2.1 聚合报告
Label |
#Samples |
Average |
Median |
90% |
95% |
99% |
Min |
Max |
Error% |
TPS |
KB/sec |
首页 |
944 |
1751 |
1751 |
2254 |
2601 |
2964 |
65 |
3229 |
0.00% |
10.4 |
2.1 |
商品详情页 |
944 |
6943 |
7458 |
7889 |
8082 |
8484 |
1008 |
8845 |
0.00% |
10.2 |
2.1 |
加入购物车 |
944 |
1595 |
1607 |
2057 |
2375 |
2826 |
85 |
3057 |
0.00% |
10.3 |
3.2 |
总体 |
2832 |
3430 |
1827 |
7620 |
7769 |
8252 |
65 |
8845 |
0.00% |
30.4 |
7.3 |
5.2.1 每秒的响应分布图
5.2.2 每秒响应代码
5.2.3 随时间的响应时间
5.2.4 结果分析
暂未统计
5.3 jmeter接口压测(115线程-循环8次-每个线程间隔6秒启动)
启动115个进程,每秒进程启动119个线程,循环8次,并发为920
5.3.1 聚合报告
Label |
#Samples |
Average |
Median |
90% |
95% |
99% |
Min |
Max |
Error% |
TPS |
KB/sec |
首页 |
920 |
1700 |
1715 |
2107 |
2405 |
2942 |
68 |
3348 |
0.00% |
10.4 |
2.1 |
商品详情页 |
920 |
6753 |
7239 |
7597 |
7739 |
8052 |
1300 |
8556 |
0.00% |
10.2 |
2.1 |
加入购物车 |
920 |
1557 |
1565 |
1956 |
2296 |
2747 |
71 |
2978 |
0.00% |
10.3 |
3.2 |
总体 |
2760 |
3337 |
1785 |
7365 |
7499 |
7905 |
68 |
8556 |
0.00% |
30.4 |
7.3 |
5.3.2 每秒的响应分布图
5.3.3 响应时间分布图
5.3.4 请求失败与成功分布图
5.4 jmeter接口压测(110线程-循环8次-每个线程间隔6秒启动)
启动110个进程,每秒进程启动18个线程,循环8次,并发为880
5.4.1 聚合报告
Label |
#Samples |
Average |
Median |
90%Line |
95%Line |
99%Line |
Min |
Max |
Error% |
TPS |
KB/sec |
首页 |
880 |
1609 |
1625 |
2044 |
2273 |
2725 |
64 |
3391 |
0.00% |
10.5 |
2.1 |
商品详情页 |
880 |
6303 |
6817 |
7181 |
7412 |
7685 |
510 |
8643 |
0.00% |
10.3 |
2.1 |
加入购物车 |
880 |
1478 |
1496 |
1896 |
2176 |
2503 |
63 |
3031 |
0.00% |
10.3 |
3.2 |
总体 |
2640 |
3130 |
1705 |
6953 |
7081 |
7522 |
63 |
8643 |
0.00% |
30.6 |
7.4 |
5.4.2 每秒的响应分布图
5.4.3 响应时间分布图
5.4.4 请求失败与成功分布图
5.4.5 结果分析
无
六 结果汇总分析
Label |
#Samples |
Average |
Median |
90%Line |
95%Line |
99%Line |
Min |
Max |
Error% |
TPS |
KB/sec |
200 并发 |
4800 |
6110 |
4322 |
11027 |
11258 |
12356 |
22 |
13721 |
1.08% |
30.3 |
7.3 |
118 并发 |
2832 |
3430 |
1827 |
7620 |
7769 |
8252 |
65 |
8845 |
0.00% |
30.4 |
7.3 |
115 并发 |
2760 |
3337 |
1785 |
7365 |
7499 |
7905 |
68 |
8556 |
0.00% |
30.4 |
7.3 |
110 并发 |
2640 |
3130 |
1705 |
6953 |
7081 |
7522 |
63 |
8643 |
0.00% |
30.6 |
7.4 |
使用jmeter压测时,如果使用1个进程开多个线程进行压测,一个进程很难快速处理多个线程,造成本地处理浪费大量时间用于调度,最终压力上不去。
压测时,减少进程数调度少量线程,解决本地耗时,TPS明显提升。
在启动110个进程880线程时页面平均耗时最佳,符合性能测试2-5-8原则,属于顾客可接受的范围内
压测过程中出现的错误主要有:
- 502(错误网关)错误
最终压测结果:
- 进程数为110时,页面平均访问时间为3。13s
2、进程数为110时,最大吞吐量为30.6s
(注:1、以上数据是2019年4月4日上午最新数据 2、Average 单位为毫秒)