第一次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 每秒的响应分布图

第一次Jmeter压力测试报告

5.1.3 响应时间分布图

 第一次Jmeter压力测试报告

5.1.4 请求失败与成功分布图

第一次Jmeter压力测试报告

5.1.5 结果分析

总笔数

Jmeter错误笔数

4800

43

 

  1. 在使用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 每秒的响应分布图

第一次Jmeter压力测试报告

5.2.2 每秒响应代码

第一次Jmeter压力测试报告

5.2.3 随时间的响应时间

第一次Jmeter压力测试报告

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 每秒的响应分布图

第一次Jmeter压力测试报告

5.3.3 响应时间分布图

第一次Jmeter压力测试报告

5.3.4 请求失败与成功分布图

第一次Jmeter压力测试报告

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 每秒的响应分布图

第一次Jmeter压力测试报告

5.4.3 响应时间分布图

第一次Jmeter压力测试报告

5.4.4 请求失败与成功分布图

第一次Jmeter压力测试报告

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原则,属于顾客可接受的范围内

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

  1.   502(错误网关)错误

最终压测结果:

  1. 进程数为110时,页面平均访问时间为3。13s

2、进程数为110时,最大吞吐量为30.6s

(注:1、以上数据是2019年4月4日上午最新数据 2、Average 单位为毫秒)