使用Jmeter性能測試注意點


一、性能測試注意點

1. 用jmeter測試時使用BeanShell腳本獲取隨機參數值,會導致請求時間過長,TPS過低。應改為使用csv讀取參數值,記錄的TPS會更加准確。

  注:進行性能測試時,應注意會影響請求時間的操作,盡量避免因為測試方法不當影響測試結果。

 

2. 進行穩定性測試前,盡量對Jmeter進行減負,避免運行時間過長,導致Jmeter卡死。

減負方式:

(1)參數寫死或者直接讀取csv的數值,減少程序負荷

(2)並發線程不要設置太高,設置200以下

(3)“察看結果樹”勾選“僅日志錯誤”,盡可能減少jvm內存使用

(4)可添加“Simple Data Writer”且保存為csv格式數據

(5)其他監聽組件可以都禁掉,通過保存的數據線下生成圖標報告

 

 3. 注意如果服務重啟后,PID會發生變化,通過命令行方式收集CPU、內存使用數據時,要使用最新的PID進行采集:

ps -ef | grep test  查詢進程號,test為服務名關鍵字

top -b -d 1 -p 34012 > 1117_log  其中34012為PID,1117_log為需要記錄的日志名(不存在會自動新建文檔)

 

4. 如果勾選了CPU等監聽組件,需要先啟動代理服務:

cd ../tmp/ServerAgent-2.2.3

執行./startAgent.sh

 

5.使用jp@gc - PerfMon Metrics Collector性能測試工具時,要在運行壓力測試前開啟性能監控,否則可能會造成壓力測試期間的性能測試數據缺失而造成性能分析不准確。

 

6. 進行壓力測試時,逐步增加並發量,直至能夠明顯看出性能瓶頸為止

 

二、性能指標分析

聚合報告各項性能指標

聚合報告常用指標

Label

每個JMeter的element(例如 HTTP Request)都有一個Name屬性,這里顯示的就是Name屬性的值

Samples

請求次數(=線程數*循環次數)

Average

平均響應時間

Median

中位數,也就是50%用戶的響應時間

90% Line

90%用戶的響應時間

95% Line

95%用戶的響應時間

Min

最小響應時間

Max

最大響應時間

Error%

本次測試中出現錯誤的請求的數量/請求的總數

Throughput

吞吐量——默認情況下表示每秒完成的請求數(Request per Second)

KB/Sec

每秒從服務器端接收到的數據量

 

接口性能測試指標一般通過標准:

 

性能測試指標通過標准

需滿足的並發數
(舉例:每天8W用戶訪問,平均在線時長10分鍾,1天用戶24小時內使用系統)
C = 80000 * 0.166/24=553
注:0.166為10/60得出

C = nL/T
C^= C + 3*根號C 
其中C為平均並發用戶數,n為login session的數量,L是login session的平均長度,T是值考察的時間長度
C^為並發用戶數峰值

需要滿足的TPS
TPS = (80000*80%)/(20%*8*60*60)=11/sec

根據二八原則:
20%常用時間,滿足80%業務量
TPS = n*80%/(20%*活躍時間*60*60)
注:活躍時間一般為8小時

響應時間

根據在並發情況下的響應時間2/5/10原則,最長不能超過10s

錯誤率

具體系統具體要求,一般小於萬分之一

緩存命中率

具體系統具體要求,一般大於85%通過

CPU占用率

70% 好,85% 壞,90%+ 很差

內存使用率

一般小於80%通過


免責聲明!

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



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