jmeter壓力測試報告 - DEMO

YatHo發表於2016-11-23

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

說明:轉載自http://www.cnblogs.com/atwanli/articles/4908475.html,感謝作者分享!

相關文章