MacからJMeterのThroughput Shaping Timer使った負荷テスト時の設定内容

MacJavaがインストール済みなら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 を使うためプラグインマネージャをインストールします。

jmeter-plugins.org

ダウンロードしたjarファイルを以下のディレクトリに配置して、JMeterを再起動すればインストール完了です。

<JMeterインストールディレクトリ>/lib/ext

「オプション」> 「Plugins Manager」でプラグインマネージャが起動できるようになっています。

便利なプラグイン Throughput Shaping Timer

Ramp-Up期間とかスレッド数調整していても思うように負荷がコントロールできないと思っていたところ見つけたのが Throughput Shaping Timer です。

jmeter-plugins.org

プラグインマネージャから Standard Set をインストールすることで利用できるようになります。

使い方の雰囲気はこちらのサイトにお世話になりました。負荷の流れをグラフィカルにコントロールできます。

JMeter の利用方法(4) – タイマによるスループットの制限方法 | 株式会社ケイズ・ソフトウェア

最初設定がわからないと思いますが、以下のサンプルファイルが容易されているので、これをJMeterに読み込めばだいたいの設定方法がわかると思います。

https://jmeter-plugins.org/img/examples/ThroughputShapingExample.jmx

こんな感じで、グラフィカルな画面で計画した通りに負荷がかかるので、とても便利です。

f:id:yomon8:20160926164313p:plain