zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Jemter压力测试报告

2023-03-14 09:45:25 时间

jmeter压力测试报告 - DEMO

XXX压力测试报告

 

时间:2015-08-04                                             测试人员:xxx

 

目录

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

 

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