MacにJavaがインストール済みならApache JMeter 3.0をダウンロードしてすぐに利用できます。
Apache JMeter - Apache JMeter™
ダウンロードしたファイルを解凍して以下のファイルから起動するだけです。
<JMeterインストールディレクトリ>/bin/jmeter
JVMのパラメータ設定
まずはJavaのパラメータ調整します。
起動ファイル修正します。
vim <JMeterインストールディレクトリ>/bin/jmeter
最低限、コンカレントGCとヒープサイズを調整。
HEAP="-Xms4096m -Xmx4096m" NEW="-XX:NewSize=2048m -XX:MaxNewSize=2048m" GC="-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC"
スレッドスタックも一応調整してみました。
THREADS="-Xss256k"
ARGSに忘れずに追加します。
ARGS="$SERVER $DUMP $HEAP $NEW $SURVIVOR $TENURING $PERM $CLASS_UNLOAD $GC $THREADS"
JMeterプラグインのインストール
JMeterにはプラグインが用意されており、特に後術の Throughput Shaping Timer
を使うためプラグインマネージャをインストールします。
ダウンロードしたjarファイルを以下のディレクトリに配置して、JMeterを再起動すればインストール完了です。
<JMeterインストールディレクトリ>/lib/ext
「オプション」> 「Plugins Manager」でプラグインマネージャが起動できるようになっています。
便利なプラグイン Throughput Shaping Timer
Ramp-Up期間とかスレッド数調整していても思うように負荷がコントロールできないと思っていたところ見つけたのが Throughput Shaping Timer
です。
プラグインマネージャから Standard Set
をインストールすることで利用できるようになります。
使い方の雰囲気はこちらのサイトにお世話になりました。負荷の流れをグラフィカルにコントロールできます。
JMeter の利用方法(4) – タイマによるスループットの制限方法 | 株式会社ケイズ・ソフトウェア
最初設定がわからないと思いますが、以下のサンプルファイルが容易されているので、これをJMeterに読み込めばだいたいの設定方法がわかると思います。
https://jmeter-plugins.org/img/examples/ThroughputShapingExample.jmx
こんな感じで、グラフィカルな画面で計画した通りに負荷がかかるので、とても便利です。