# Mac
brew install jmeter
# Windows
scoop install jmeter
# -n --nongui CLIモードで起動 -t --testfile JMeterプロファイルを指定
# -l --logfile jtlファイルを出力 -e HTMLレポートを作成 -o HTMLレポートの出力先を指定
jmeter -n -t pmacho.jmx -l ./result/pmacho.jtl -e -o ./result/report
複数回起動できるようにjtlファイルとHTMLレポートの出力先を起動ごとに作成すると良い。
current_datetime=$(date +%Y%m%d%H%M%S)
result_dir=./result-$current_datetime
mkdir $result_dir
report_dir=./$result_dir/report
jtl_file=./$result_dir/pmacho.jtl
jmeter -n -t pmacho.jmx -l $jtl_file -e -o $report_dir
スレッドを線形に上昇させてパフォーマンスの変化を確認する。HTMLレポートが非常に便利。
以下はレスポンスタイムを1秒に設定した特に問題のないアプリケーションの例。
スレッドは線形に上昇している。
TPSもスレッドと連動して線形に上昇している。
レスポンスタイムはスレッドの上昇に関わらず安定している。
jtlファイルはJMeter GUIのSummary Reportで閲覧することができる。
Summary Report上部のBrowseボタンでjtlファイルを指定する。
TODO: スクリーンショット
# -g --reportonly jtlファイルを指定 -o HTMLレポートの出力先を指定
jmeter -g pmacho.jtl -o ./report
JMeterが使用するJavaバイナリはJM_LAUNCH環境変数を参照する。
# Mac
JM_LAUNCH=/Users/hainet50b/.jenv/versions/17.0.7/bin/java
# Mac with jEnv
JM_LAUNCH=$(jenv which java)
# Windows
$env:JM_LAUNCH="C:\Users\hainet50b\scoop\apps\openjdk17\current\bin\java.exe"