Jmeter壓力測試
阿新 • • 發佈:2020-07-17
壓測設定
- 執行緒數:併發數量,能跑多少量。具體說是一次存在多少使用者同時訪問
- Rame-Up Period(in seconds):表示在多長時間內啟動完上述的執行緒數。
- 迴圈次數:這個設定不會改變併發數,可以延長併發時間。總請求數=執行緒數*迴圈次數
- 排程器:設定壓測的啟動時間、結束時間、持續時間和啟動延遲時間。
壓測結果檢視
- Samples:表示一共發出的請求數
- Average:平均響應時間,預設情況下是單個Request的平均響應時間(ms)
- Error%:測試出現的錯誤請求數量百分比。若出現錯誤就要看服務端的日誌,配合開發查詢定位原因
- Throughput:簡稱tps,吞吐量,預設情況下表示每秒處理的請求數,也就是指伺服器處理能力,tps越高說明伺服器處理能力越好。
壓測結果分析
- 有錯誤率同開發確認,確定是否允許錯誤的發生或者錯誤率允許在多大的範圍內;
- Throughput吞吐量每秒請求的數大於併發數,則可以慢慢的往上面增加;若在壓測的機器效能很好的情況下,出現吞吐量小於併發數,說明併發數不能再增加了,可以慢慢的往下減,找到最佳的併發數;
- 壓測結束,·登陸相應的web伺服器檢視CPU等效能指標,進行資料的分析;
- 最大的tps:不斷的增加併發數,加到tps達到一定值開始出現下降,那麼那個值就是最大的tps。
- 最大的併發數:最大的併發數和最大的tps是不同的概率,一般不斷增加併發數,達到一個值後,伺服器出現請求超時,則可認為該值為最大的併發數。
- 壓測過程出現效能瓶頸,若壓力機工作管理員檢視到的cpu、網路和cpu都正常,未達到90%以上,則可以說明伺服器有問題,壓力機沒有問題。
- 影響效能考慮點包括:資料庫、應用程式、中介軟體(tomact、Nginx)、網路和作業系統等方面。
CLI模式(no-GUI)執行
-
在cmd中,CD到目標資料夾
-
執行命令
jmeter -n -t [jmx file] -l [result file] -e -o [Path to output folder]
引數說明:
- jmx file:測試計劃的檔名稱,預設從當前資料夾中尋找(.jmx格式)
- result file:輸出檔案路徑(.jtl格式)
- Path to output folder:要儲存的report檔案路徑
- -n:非GUI模式執行Jmeter
- -t:執行測試檔案所在的位置
- -l:指定生成測試結果的儲存檔案(該檔案必須不存在),jtl檔案格式
- -e:測試結束後生成測試報告
- -o:指定測試報告的存放位置,資料夾必須不存在或為空
-
輸出結果解釋(Html檔案中的資料解釋),在reportgenerator.properties配置檔案中修改Html圖表中的相關設定。
-
Dashboard中:
- Test and Report informations:指的是測試和報告資訊
- APDEX(Application Performance Index):應用程式效能滿意度的標準,範圍在0-1之間,1表示達到所有使用者均滿意,越接近1滿意度越高
- Requests Summary:請求的通過率(OK)與失敗率(KO),百分比顯示
- Statistics:資料分析,基本將Summary Report和Aggrerate Report的結果合併
- Errors:錯誤情況,依據不同的錯誤型別,將所有錯誤結果展示
-
Charts:用圖表的形式展示測試資料,讓測試報告更加直觀
主要有如下特點:
(1)將測試過程中經常使用的資料,用圖表的形式展示,讓測試結果更加直觀
(2)每個圖表資料,有兩種展示形式
(3)支援請求樣例過濾顯示
(4)支援匯出PNG圖片格式Over Time Charts:
- Response Times Over Time:每秒鐘響應時間,X軸表示的是系統執行的時刻,Y軸表示的是響應時間,F(X,Y)表示系統隨著時間的推移,系統的響應時間的變化,可以看出響應時間穩定性
- Response Time Percentiles Over Time (successful responses):隨時間變化的響應時間百分比
- Active Threads Over Time:每秒的活動執行緒數
- Bytes Throughput Over Time:位元組接收與傳送的數量,每秒傳輸位元組吞吐量,表明Jmeter在測試時,隨著時間推移傳送和接收的位元組數
- Latencies Over Time:延遲時間
- Connect Time Over Time:連線時間
Throughput Charts:
- Hits Per Second: 每秒點選率
- Codes Per Second:每秒狀態碼數量
- Transactions Per Second:每秒事務量
- Response Time Vs Request:響應時間點請求的成功與失敗數
- Latency Vs Request:延遲時間點請求的成功與失敗數
Response Times Charts:
- Response Time Percentiles:響應時間百分比
- Response Time Overview:響應時間概述
- Time Vs Threads:響應時間使用者數, X軸表示的是活動執行緒數,也就是併發訪問的使用者數,Y軸表示的是響應時間,F(X,Y)表示在某種併發量的情況下,系統的響應時間是多少
- Response Time Distribution:響應時間分佈
-