やりたいこと
JMeterを実行ができる状況にて
# jmeter -n -t test.jmx
各リクエストに対する応答時間を確認する。
環境情報
- apache-jmeter-5.4.1
- java-1.8.0
- RedHatEnterpriseLinux 7
やり方
l
オプションを付与して実行することで
# jmeter -n -t test.jmx -l test.csv
以下のような応答結果が出る。
# head test.csv timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect 1669256303480,63,mytest,200,OK,スレッドグループ 1-1,text,true,,943,162,1,1,http://X.X.X.X/,59,0,33
応答時間の目安としては「elapsed」または「Latency」が応答時間に相当する。単位はms。
以下、補足です。
補足
標準出力にはサマリーが表示されますが進捗は表示されるもののリクエストに対する応答時間は表示されません。
# jmeter -n -t test.jmx -l test.csv Creating summariser <summary> Created the tree successfully using test.jmx Starting standalone test @ ... Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445 summary = 3000 in 00:04:32 = 11.0/s Avg: 4 Min: 2 Max: 63 Err: 0 (0.00%) ... end of run
よって上記に記載した通りオプションでログを出す必要があります。
そしてElapsed TimeとLatencyの違いですが、Elapsedはサーバーから最後のレスポンスが返ってきた時間でLatencyは最初のレスポンスが帰ってきた時間です。
- Latency = time to first byte
- Elapsed = time to last byte
よってサーバー処理時間も含めたい場合は"Elapsed"の値を見る必要があります。
以上。