概述
jmeterGUI模式下,性能測試的結果往往誤差很大,因為GUI本身就會消耗一部分資源。所以我們常常用命令行去跑性能腳本,得出結果
同時,jmeter在命令行下還可以生成多維度的測試報告,里面包含了常用的性能指標和監聽器圖表。
操作步驟
注:如果想動態的執行線程數,我們需要在GUI模式下把線程組和持續時間設置成全局屬性
${__P(threadNum,)} 獲取線程組屬性
${__P(cycle,)} 獲取迭代次數屬性
${__P(time,)} 獲取時間屬性
動態執行的命令如下:
jmeter -JthreadNum=100 -Jtime=180 -n -t 命令行動態設置線程數/時間(秒)
下圖表示100線程並發運行180s
用戶登錄-考勤-退出並發測試-結果分析
針對Jmeter(四十七)_負載測試統計超時率這篇文章,我們用命令行重新生成測試報告並分析一下結果
目標值:
測試結果:
1. 響應時間、業務成功率、並發量
根據JMeter命令行生成的html樣式測試報告結果分析,統計數據如下:
從圖中初步分析:

2)業務成功率:並發量=100時,業務成功率=100%(測試腳本中設置有斷言,可結合檢查斷言效果),符合預期目標
3)並發量:線程組設置100個線程,運行過程中未出現任何異常,滿足100個線程並發操作的需求
APDEX性能指數
Apdex:APDEX性能指數(Application Performance Index),是一個國際通用標准,Apdex是用戶對應用程序性能滿意度的量化值。它提供了一個統一的測量和報告用戶體驗的方法,把最終的用戶體驗和應用性能作為一個完整的指標進行統一度量
下圖表示通用用戶滿意度區域,0
表示沒有滿意的用戶,1
代表所有用戶都滿意。實際業務系統開發過程中,1
是團隊所追求的目標
對於opms業務,100個用戶並發登錄的APDEX指標如下所示。從圖中分析,整體Apdex值和單個步驟的Apdex值都比較大,表示用戶滿意度比較大,側面說明此時服務器響應速度較快。
接下來我們將線程數修正為200,持續時間5分鍾,觀察html報告
從圖中分析得出:
1)響應時間:登錄並發測試場景中,並發量=200時,本次以max采樣數據統計,退出系統的業務響應時間未達到預期目標
2)業務成功率:並發量=200時,退出系統的業務成功率=99.3%(測試腳本中設置有斷言,可結合檢查斷言效果),不符合預期目標
3)並發量:線程組設置200個線程,退出系統的出現系統異常,有12個請求沒有接收到響應。
登錄和退出的Apdex值相對較低,表示用戶滿意度不高,側面說明此時服務器響應速度略慢。