Top / JMeter

JMeter - Apache JMeterはWEB向けのPure Javaなストレスツールです。

ダウンロード

The Jakarta Site - JMeter Downloadsよりダウンロード可能です。インストールも解凍するだけですね。

やってみる

実際にやってみます。

シナリオとしては

なんてモノをやってみようと思います。ログインアクションはパラメタとしてuserid,password を取ります。んで、それぞれ

userid=hoge
password=fuga

だったらOKとロジックがくんであります。またトークンチェックとはいわゆる[[Strutsの同期トークンの機能>]]で、ログアウトのリンクの後ろに

/stressTest/logout.do?org.apache.struts.taglib.html.TOKEN
                           =166176d36f24bb9a0c77df7f368d2fd4

というリクエストするごとに異なる値が載っているうモノです。このパラメタは毎回異なるので注意が必要です。

絶対に他者のサイトにストレスをかけないでください。他者のサイトにストレスをかけた場合、最悪の場合損害賠償を請求されるかもしれないので、十分ご注意ください。

全体の設定

テスト計画で右クリックして

追加 > スレッドグループ

で追加します。

01.png

下記のスレッドグループ設定では、

などを設定します。たとえば

とした場合、10秒で5スレッドを起動するので、2秒に1回(初回の)クエリが発行されることになります。

02threadGroup.png

接続先の指定

次に接続先のサーバを指定します。テスト計画で右クリックして

追加 > 設定エレメント > HTTPリクエスト初期値設定

で追加します。

03Init.png

ここでは接続先のサーバ名やプロトコルなどを一括で指定することができます。すべてのクエリに載せたいパラメタなんかもかけそうです。

04Init.png

各クエリの追加

次に各画面ごとのクエリを追加していきます。クエリは スレッドグループを右クリックして

追加 > サンプラー > HTTPリクエスト

で追加します。

05sampler.png

サンプラーの画面では

などを指定します。たとえば下の例だとリクエストパスを /stressTest/index.do と指定しています。メソッドはGetです。

06sampler.png

次にログイン処理を行います。スレッドグループの下にログインアクションを追加しました。このログインアクションはクエリとして userid,password を取るので「リクエストで送るパラメータ」の欄にパラメタとして追加してあります。パラメタの値は本来可変である必要がありますが、サンプルは固定で問題ないのでとりあえず固定で値hoge,fugaを設定しています。

07parameter.png

ストレステストの結果を表示する

リクエストにCookieを載せる

ユーザ定義の変数をつかう

トークンなど、前画面の値をリクエストにセットする

戻り電文の任意の値を次のリクエストにセットする

次はもっと汎用的に、

ID/PASSなど、可変な値をリストファイルからセットする

戻り電文をアサーションする

オペレーションを自動記録する

今まで手動でサンプラー(リクエスト)を作ってきましたが、実はJMeterをプロキシサーバにして、リクエスト・レスポンスを自動的にキャプチャすることができます。これをすれば上り電文のパラメタとかいちいち設定する必要がなくて、とても便利そうです。

プロキシサーバの追加

ワークベンチ >> HTTP プロキシサーバ

XML-RPCのようなkey=value形式でないクエリを送信する

関連リンク


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / JMeter

現在のアクセス:153167


*1 10秒と設定したら、上のスレッドを10秒かけて起動する

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS