tomoima525's blog

Androidとか技術とかその他気になったことを書いているブログ。世界の秘密はカレーの中にある!サンフランシスコから発信中。

Day Traderにjmeterでさくっと負荷をかける方法

APサーバ、DBサーバの性能検証をするためのベンチマーク・アプリケーションにDay Traderというものがあります。

Day Traderは株トレードアプリケーションを模しており、株の売買や、ポートフォリオの確認など、株トレードの基本的な機能を備えています。このアプリケーションとJ meterなど負荷ツールを利用することで、性能を計測することができます。

元々IBMで開発されたものですが、現在はApacheでメンテナンスされています。

DayTraderの詳細は以下にあります。

https://cwiki.apache.org/confluence/display/GMOxDOC20ja/9.3.+DayTrader

今回はこのアプリケーションに対してさくっとJ meterで負荷をかける方法についてまとめました。

 

 

事前準備

JmeterをDL

http://jmeter.apache.org/download_jmeter.cgi

Java 6が導入されているか確認

http://www.java.com/ja/download/help/version_manual.xml

 

手順

1.<j-meter>/bin/以下のjmeter.bat(win)またはjmeter.sh(UNIX,Linux)を実行

windowsで実行する場合、jmeter.batを以下のように修正する必要があります。

if .%JM_LAUNCH% == . set JM_LAUNCH="<javaのインストールされたディレクトリ>\jre\bin\java.exe"

例) javaがc:\以下にインストールされている場合

if .%JM_LAUNCH% == . set JM_LAUNCH="C:\java\jre\bin\java.exe"

 

2.テストスレッドの追加

左のビューワ「テスト計画」を右クリック→追加→threads(users)→スレッドグループを選択

f:id:tomoima525:20131216213539j:plain

以下を設定する

スレッド数:1(ここは負荷に応じて変えます)

ループ数:無限

Ramp Up 間隔:5秒(設定したスレッド数に達するまでの時間で、任意ですが、スレッド数が多い場合は間隔を長めに取るほうがよいです)

 

3.サンプラーの追加

Day Traderはウェブのトランザクションを扱うので、HTTP requestのサンプラーを設定します。

スレッドグループ→追加→サンプラー→HTTP request

f:id:tomoima525:20131216213521j:plain

アクセスするIPやポート、パスをwebサーバに応じた設定を行います。

Daytraderの場合、以下のように設定します。

IP→環境に応じて設定

port→環境に応じて設定

path→/daytrader/scenario

 

4.timer設定

リクエストごとの待ち時間を設定します。

HTTPリクエストを右クリック→追加→タイマ

f:id:tomoima525:20131216213513j:plain

いくつかのタイマ設定方法があります。詳しくはmanualに記載があります。

ここでは「定数タイマ」を設定します。

 

5.レポート設定

テスト中の性能レポートの表示設定を行います。

「HTTPリクエスト」を右クリック→追加→リスナー→summary report

保存するディレクトリや保存する内容を設定できます。

f:id:tomoima525:20131216213507j:plain

 

6.テスト実行

実際に処理を流すには「実行」→開始を選択します。

f:id:tomoima525:20131216213503j:plain

 

7.テスト後の処理

テスト結果はファイルに保存可能です。

テスト結果をクリアする場合、「実行」→消去を選択します。

f:id:tomoima525:20131216213459j:plain

 

分析について

一般的にはユーザ数を順次増やしていき、CPU使用率やスループットが頭打ちになるまで負荷をかけ、性能限界をみます。