在執行接口壓力測試過程中,我們制定了並發線程數,那在執行完畢后我們主要關注以下數據指標:
其中資源指標可以請后端同學查看。
那系統指標:並發用戶數(及我們設定的樣本線程數),響應時間,事務成功率,超時錯誤率,我們可以從jmter生成的匯總報告中查看。
通過命令行執行jmeter腳本后,在bin目錄下生成一個result文件如圖,webreport是需要自己創建好的,否則無法生成html的測試報告:
result文件夾中生成的是一個txt文件。
webreport中生成的文件如圖:
我們點擊index.html就可以在瀏覽器中查看測試報告結果了!!
-----------------------------------------------------------------------------------------------------
我們先來看下報告中都有哪些數據吧...
- Dashboard 面板
start time 開始時間
end time 結束時間
filter for display 過濾器
T(Toleration threshold):容忍或滿意閾值
F(Frustration threshold):失敗閾值
Requests Summary中pass指成功率,fail指失敗率
1. 數據分析,基本將summary report 和 aggrerate report 的結果合並,含義分別為:
請求接口名稱;執行--樣本數目,失敗數目,錯誤率;響應時間--平均響應時間,最小、最大、最中間響應時間,90%、95%、99%用戶響應時間;吞吐量;每秒從服務器端接收到和發送的數據量;
2. 錯誤情況:展示不同的錯誤類型和數量等信息
3. 前五個錯誤情況
- Charts
-- over time
-- throughput
-- response time
over time:
- Response Times Over Time:隨着時間推移響應時間變化趨勢圖
- Response Times Percentiles Over Time(successful responses):隨着時間推移響應時間百分比(成功響應)
- Active Threads Over Time:隨着時間推移的活動線程
- Bytes Throughput Over Time:隨着時間推移每秒接收和請求字節數變化趨勢圖,藍色為每秒發送字節數,黃色為每秒接收字節數
- Latencies Over Time:隨着時間推移平均響應延時趨勢圖,記錄客戶端發送請求完成后,服務器端返回請求之前這段時間
- Connect Time Over Time:隨着時間推移的連接時間
throughput:
- hits per second:每秒點擊率
- codes per second:每秒狀態碼數量
- Transactions per second:每秒事務量
- total transactions per second:每秒所有事務量
- Response Time Vs Request: 響應時間點請求的 成功/失敗 數
- Latency Vs Request: 延遲時間點請求的 成功/失敗 數
response time:
- Response Time Percentiles: 響應時間百分比
- Active Threads Over Time: 隨着時間推移活躍線程數
- Time Vs Threads: 測試過程中的線程數時續圖
- Response Time Distribution: 響應時間分布
“吞吐量:用單位時間內系統處理請求的數量定義。
衡量方法有三種:
請求數 / 單位時間
點擊數 / 單位時間
字節數 / 單位時間
測試過程中要注意:
1. 是否有緩存(類似查詢接口壓測,可以針對緩存有無分別壓測)
2. 瓶頸處持續壓測,測試系統穩定性
3. 和線上真實的一模一樣的環境配置