性能測試報告模板


性能測試報告

 

Performance Test Report

 

 

 

項目

XXX項目二期

版本

V1.00

作者

dayu

日期

2019.9.31

 

 

 

1. 測試概述

1.1 測試目標

描述本次測試的意義和目標

本次測試的目的在於探查XXX項目二期重構環境的系統業務處理性能,以及在高負載情況下的系統表現。

1.2 指標和術語

描述本次測試中涉及到的性能指標術語

術語

釋義

並發數

測試時同時系統發出事務請求的數量,並發線程數用以模擬同時與系統建立連接的用戶。

TPS(每秒事務數)

在每秒時間內系統可處理完畢的事務數。TPS很大程度體現系統性能能力。

錯誤率

經系統處理的事務出現錯誤的概率,對應着實際用戶使用系統功能失敗的情況。理想情況下錯誤率應保持極低水平。

資源占用率

服務器端各關鍵資源的使用比例,用於衡量系統硬件能力

 

 

2. 環境、工具

列出本次測試所涉服務器、客戶機和測試工具

2.1 測試環境

服務器:

應用

機器

CPU、內存配置

API

ip地址

16CPU、內存16G

MYSQL

ip地址

16CPU、內存16G

 

 

客戶機:

操作系統

CPU

內存

Windows10 專業版

I3- 4170 3.70GHZ

8G

 

2.2 測試工具

核心工具

版本

備注

Jmeter

3.3

提供並發請求能力

PerfMon Metrics Collector

2.1

Jmeter插件,用於收集服務器資源使用信息

ServerAgent

2.2.1

以伺服形式發送服務器資源使用信息

nMon

16h v2

實時收集服務器資源信息

 

3. 測試方案

3.1 測試類型

不同的性能測試場景可能使用不同的測試類型,需要明確

本次性能測試將主要采用以下幾種測試類型:

基准測試:

在小並發條件下,探測系統各性能指標表現,作為后續比對基礎。

 

壓力測試:

由於無法准確預估用戶訪問量,因此考慮使用壓力測試方法。壓力測試旨在通過不斷 增加系統並發處理事務數,增加系統負載,直到系統到達性能瓶頸。以此推算出系統 可承載用戶和事務請求數。

 

穩定性測試:

將系統置於較長時間高負載場景下,探測系統是否出現穩定性缺陷。

3.2 業務模型

針對系統接口,究竟哪些需要被納入壓測范疇?不同事務應該以何種比例被調用,這是需要建模設計的,也是性能測試的難點之一。

通過對於項目架構和業務場景分析,設計以下業務模型進行模擬和測試:

 

場景1:簡單業務場景

業務名稱

接口地址

請求類型

並發比例

登錄

/login

post

1

查詢用戶信息

/queryMemberInfo

get

1

 

 

 

場景2:混合業務場景

業務名稱

接口地址

請求類型

並發比例

登錄

/login

post

1

查詢用戶信息

/queryMemberInfo

get

1

交易查詢

/listOrderPage

get

1

訂單創建

/createOrder

post

1

 

3.3 加密驗簽處理

由於系統對於所有事務請求都進行了加密驗簽處理,因此在本次性能測試中,需要對請求報文進行一致的加密和簽名。處理邏輯如下:

使用APP同樣的加密簽名代碼,導出jar包做為加密工具類

使用jmeter前置處理器-beanshell處理器調用上述jar包方法實現請求參數加密

l 將加密簽名后的請求參數存儲為變量,后續接口調用時使用

 

3.4 壓力梯度

對於3.2所述場景,分別進行梯度加壓,從100並發開始,每次遞增100並發數,直至到達系統瓶頸。

 

4. 測試結果

4.1 聚合報告

標簽

樣本數

平均(響應時間ms)

最小

最大

錯誤率

吞吐量(/s)

登錄

50

28

20

38

0.00%

4.5977

查詢member信息

50

1602

1292

2042

0.00%

4.07133

查看交易

50

705

512

920

0.00%

4.37828

創建訂單

50

86

60

119

0.00%

4.55083

總體

200

605

20

2042

0.00%

15.11716

場景1-10並發-循環5

 

標簽

樣本數

平均(響應時間ms)

最小

最小

錯誤率

吞吐量(/s)

登錄

500

7612

40

26725

0.00%

15.84987

查詢用戶信息

500

30871

2369

49719

0.00%

6.96233

總體

1000

19241

40

49719

0.00%

13.91517

場景1-500並發-循環1

 

標簽

樣本數

平均(響應時間ms)

最小

最大

錯誤率

吞吐量(/s)

登錄

550

8326

33

22360

0.00%

20.34851

查詢用戶信息

550

36071

4362

58485

0.36%

6.7585

總體

1100

22199

33

58485

0.18%

13.51069

場景1-550並發-循環1

 

標簽

樣本數

平均(響應時間ms)

最小

最大

錯誤率

吞吐量(/s)

登錄

4500

12408

87

46269

0.00%

4.68807

查詢用戶信息

4500

35383

3792

65036

0.00%

4.63027

查看交易

4500

22832

711

46812

0.02%

4.64518

創建訂單

4500

24973

81

58698

0.13%

4.67591

總體

18000

23899

81

65036

0.04%

18.50308

場景2-450並發-循環10

 

4.2 系統吞吐量

 

 

 

 場景1-550並發-循環1

 

 

 

 

 場景2-450並發-循環10

 

4.3 資源占用率

最優負載條件下:

CPU使用率

 

 

 

  

內存占用率

 

 

 

 

磁盤使用率

 

 

 

 

5. 分析和建議

結合收集到的數據,給出對於系統性能關鍵點的分析

5.1 測試結論分析

經過多次測試和數據報表分析,可以得出如下結論:

1) 當總體並發用戶數為450-500時,系統具有最優性能表現;當事務並發數超過500時,事務失敗率整體上升,系統到達性能拐點。

2) 多事務混合條件下,系統巔峰TPS在90左右,平均吞吐量在13-18/s。

3) 在小壓力條件下(10並發),最大事務響應時間為查詢用戶信息事務的2042毫秒,平均在600毫秒左右系統。整體事務微觀響應速度較優。

4) 滿負載條件下,登錄具有最佳的性能表現,平均響應時間為7000-12000毫秒;查詢用戶信息事務性能較差,平均響應時間在30000-40000區間。滿負載條件下系統整體微觀響應時間較差。查詢用戶接口由於其使用極為頻繁,建議進行SQL效率調優

5) 系統資源方面,內存占用率始終處於高位水平(90%以上),磁盤空間由於日志寫入而不斷被占用。

         

5.2 問題

測試過程中發現了如下顯著問題:

1) 加密驗簽功能並未生效-現階段任何簽名均可通過驗簽。屬於功能性問題,不影響性能表現。

2) 日志文件由於不斷寫入導致磁盤占滿,建議調低系統日志級別,並做好定期日志備份。

3) 內存占用處於高位水平,需要進一步探查原因。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM