您的位置:首页 > 其它

jmeter压力测试报告

2017-03-22 15:38 225 查看
目录

XXX压力测试报告... 1

一  测试内容... 2

二  测试方法... 2

三  测试目标... 2

四  测试环境... 2

五  系统部署... 3

5.1 物理部署... 3

5.2 网络访问... 3

六  性能测试结果与分析... 4

6.1 jmeter集群压测(5进程-每个进行10线程)... 4

6.2 jmeter集群压测(10进程-每个进行5线程)... 7

6.3 jmeter集群压测(10进程-每个进行10线程)... 11

七  结果汇总分析... 13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


一  测试内容

本次测试是针对xxx系统进行的压力测试,在交易接口中,只对交易接口进行压力测试,其中涵盖数据验签与签名功能。


二  测试方法

         本次采用apache的开源测试工具jmeter,采用本地动态拼装请求数据并通过http协议post方式发送支付请求。并采用650张测试银行卡测试,其中大概有30张存在“无足够的存款”和“受限制的卡”情况。


三  测试目标

1)         获取在单机部署情况下最大TPS值

2)         是否可以达到原来预期值TPS:50


四  测试环境

环境
机器型号
操作系统
硬件cpu
硬件mem
客户端
server2008虚拟机
windows
32核
32G
服务端
HP DL580
linux
64核
126G
由于客户端与服务端的机器性能优秀,暂不会对压测形成瓶颈,该方面影响可以忽略


五  系统部署


5.1 物理部署


 


5.2 网络访问


 

 


六  性能测试结果与分析


6.1 jmeter集群压测(5进程-每个进行10线程)

启5个进程,每个进程启动10个线程,并发为50,项目日志开启info状态


6.1.1 聚合报告

Label
#Samples
Average
Median
90%Line
95%Line
99%Line
Min
Max
Error%
TPS
KB/sec
1
22805
547
366
512
636
5218
150
30003
0.26
65.3
96.5
2
33605
519
362
503
618
5200
150
30003
0.21
66.5
98.5
3
43505
536
365
508
621
5210
150
34899
0.26
65.6
97.1
4
48205
527
365
507
618
5206
150
34899
0.24
65.1
96.3
5
49005
535
364
507
616
5211
150
34899
0.27
63.9
94.5
6
49901
532
364
505
614
5207
150
34899
0.27
61.0
90.2
7
50000
531
363
504
613
5207
150
34899
0.27%
60.9
90.1


6.1.2 每秒的响应分布图

 



6.1.3 响应时间分布图

 



6.1.4 请求失败与成功分布图

 



6.1.5 结果分析

总笔数
Jmeter错误笔数
请求前置响应超长笔数
服务本地处理超长笔数和404
50000
135
120
15
 
在使用jmeter压测请求被F5转发到apache server代理上,由于交易处理过程中处理时间过长造成长时间无响应,代理返回502 Proxy Error错误。
其中请求前置响应超长笔数在向前置获取结果返回的耗时超过3分钟,其余耗时均低于5s,前置接收到的晚,初步判定网络堵塞
本地业务处理的错误原因为签名、验签、获取数据及请求时404等

 


6.2 jmeter集群压测(10进程-每个进行5线程)

启10个进程,每个进程启动5个线程,并发为50,项目日志开启info状态


6.2.1 聚合报告

Label
#Samples
Average
Median
90%Line
95%Line
99%Line
Min
Max
Error%
TPS
KB/sec
1
11010
555
348
495
605
5196
148
30003
0.26
68.7
101.5
2
28910
507
333
473
568
5178
55
30015
0.25
76.3
121.9
3
36310
501
332
475
575
5176
55
30031
0.24
77.1
114.0
4
46310
485
331
466
557
5172
55
30031
0.21
78.6
116.3
5
50000
478
326
460
551
5166
55
30031
0.21
72.1
106.7


6.2.2 每秒的响应分布图

 



6.2.3 响应时间分布图

 


 


6.2.4 请求失败与成功分布图

 


 


6.2.5 应用系统状态

 



6.2.6 结果分析

总笔数
Jmeter错误笔数
请求前置响应超长笔数
服务本地处理超长笔数和404
50000
105
92
13
 

1         在使用jmeter压测请求被F5转发到apache server代理上,由于交易处理过程中处理时间过长造成长时间无响应,代理返回502 Proxy Error错误。

2         其中请求前置响应超长笔数在向前置获取结果返回的耗时超过3分钟,其余耗时均低于5s,前置接收到的晚,初步判定网络堵塞

3         本地业务处理的错误原因为签名、验签、获取数据及请求时404等


6.3 jmeter集群压测(10进程-每个进行10线程)

启10个进程,每个进程启动10个线程,并发为100,项目日志开启info状态


6.3.1 聚合报告

Label
#Samples
Average
Median
90%Line
95%Line
99%Line
Min
Max
Error%
TPS
KB/sec
1
50000
1219
896
1665
2692
5808
209
38306
0.30
68.0
100.5


6.3.2 每秒的响应分布图

 



6.3.3 响应时间分布图

 



6.3.4 请求失败与成功分布图

 



6.3.5 结果分析

总笔数
Jmeter错误笔数
请求前置响应超长笔数
服务本地处理超长笔数和404
50000
150
119
31
 

1         在使用jmeter压测请求被F5转发到apache server代理上,由于交易处理过程中处理时间过长造成长时间无响应,代理返回502 Proxy Error错误。

2         其中请求前置响应超长笔数在向前置获取结果返回的耗时超过3分钟,其余耗时均低于5s,前置接收到的晚,初步判定网络堵塞

3         本地业务处理的错误原因为签名、验签、获取数据及请求时404等

 


6.4 jmeter集群压测(30进程-每个进行5线程)

启30个进程,每个进程启动5个线程,并发为150,项目日志开启info状态


6.4.1 聚合报告

Label
#Samples
Average
Median
90%Line
95%Line
99%Line
Min
Max
Error%
TPS
KB/sec
1
150000
1473
1924
1733
1959
6156
222
35107
0.21
89.5
132.2


6.4.2 每秒的响应分布图

 



6.4.3 响应时间分布图

 


 


6.4.4 应用系统状态

 



6.4.5 客户端系统状态

 



6.4.6 结果分析

暂未统计


6.5 jmeter集群压测(20进程-每个进行5线程)

启20个进程,每个进程启动5个线程,并发为100,项目日志开启info状态,超时时间2000ms


6.5.1 聚合报告

Label
#Samples
Average
Median
90%Line
95%Line
99%Line
Min
Max
Error%
TPS
KB/sec
1
200000
867
722
1073
1296
5674
1
10053
0.84
92.8
138.6


6.5.2 每秒的响应分布图

 



6.5.3 响应时间分布图

 



6.5.4 请求失败与成功分布图

 



6.5.5 结果分析

总笔数
Jmeter错误笔数
TPS
100000
730
98.0
 

1         由于本地客户端限定2000毫秒不响应就认为失败,所以失败率偏高

 


七  结果汇总分析

Label
#Samples
Average
Median
90%Line
95%Line
进程
线程
并发
Error%
TPS
KB/sec
50并发
50000
531
363
504
613
5
10
50
0.27%
60.9
90.1
50并发
50000
478
326
460
551
10
5
50
0.21
72.1
106.7
100并发
50000
1219
896
1665
2692
10
10
100
0.30
68.0
100.5
150并发
150000
1473
1924
1733
1959
30
5
150
0.21
89.5
132.2
100并发
200000
867
722
1073
1296
20
5
100
0.84
92.8
138.6
使用jmeter压测时,如果使用1个进程开多个线程进行压测,一个进程很难快速处理多个线程,造成本地处理浪费大量时间用于调度,最终压力上不去。

当采用集群压测时,启用多个进程调度少量线程,解决本地耗时,TPS明显提升。

在启动10个进程50线程时效果最佳,符合交易每秒钟处理的交易笔数,当提升并发到100时,交易响应时间明显提升。

 

压测过程中出现的错误主要有:

1、  请求资源404错误

2、  请求前置网络堵塞,每次均为3分钟

3、  本地签名、验签、获取数据耗时过长

 

最终压测结果TPS:90-100时可保证响应时间不超过2s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jmeter