天天看點

模闆-jmeter壓力測試報告-××系統V1.0.0壓力測試報告

時間:2019

-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 實體部署

模闆-jmeter壓力測試報告-××系統V1.0.0壓力測試報告

5.2 網絡通路

模闆-jmeter壓力測試報告-××系統V1.0.0壓力測試報告

六 性能測試結果與分析

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 響應時間分布圖

模闆-jmeter壓力測試報告-××系統V1.0.0壓力測試報告

6.4.4 應用系統狀态

6.4.5 用戶端系統狀态

模闆-jmeter壓力測試報告-××系統V1.0.0壓力測試報告

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 響應時間分布圖

模闆-jmeter壓力測試報告-××系統V1.0.0壓力測試報告

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

繼續閱讀