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)→スレッドグループを選択
以下を設定する
スレッド数:1(ここは負荷に応じて変えます)
ループ数:無限
Ramp Up 間隔:5秒(設定したスレッド数に達するまでの時間で、任意ですが、スレッド数が多い場合は間隔を長めに取るほうがよいです)
3.サンプラーの追加
Day Traderはウェブのトランザクションを扱うので、HTTP requestのサンプラーを設定します。
スレッドグループ→追加→サンプラー→HTTP request
アクセスするIPやポート、パスをwebサーバに応じた設定を行います。
Daytraderの場合、以下のように設定します。
IP→環境に応じて設定
port→環境に応じて設定
path→/daytrader/scenario
4.timer設定
リクエストごとの待ち時間を設定します。
HTTPリクエストを右クリック→追加→タイマ
いくつかのタイマ設定方法があります。詳しくはmanualに記載があります。
ここでは「定数タイマ」を設定します。
5.レポート設定
テスト中の性能レポートの表示設定を行います。
「HTTPリクエスト」を右クリック→追加→リスナー→summary report
保存するディレクトリや保存する内容を設定できます。
6.テスト実行
実際に処理を流すには「実行」→開始を選択します。
7.テスト後の処理
テスト結果はファイルに保存可能です。
テスト結果をクリアする場合、「実行」→消去を選択します。
分析について
一般的にはユーザ数を順次増やしていき、CPU使用率やスループットが頭打ちになるまで負荷をかけ、性能限界をみます。