Editionをインストールする。Javaなストレスツールです。WEBアプリケーションに対して負荷をかけるためのツールですね。このツールはレポーティング機能も充実しているので、性能テストや負荷テストなどに利用すれば作業を効率よく行うことができそうです。Downloadsよりダウンロード可能です。インストールも解凍するだけですね。ログインアクション->ログイン中画面http://localhost:8080/stressTest/logout.doでログアウトアクション->ログアウトしました画面->元のログイン画面ログアウトアクションでは、トークンチェックしているなんてモノをやってみようと思います。それぞれuserid=hogepassword=fugaだったらOKとロジックがくんであります。=166176d36f24bb9a0c77df7f368d2fd4というリクエストごとに異なる値が載っているというモノです。このパラメタは毎回異なるので、JMeterの設定は注意が必要です。絶対に他者のサイトにストレスをかけないでください。他者のサイトにストレスをかけた場合、最悪の場合損害賠償を請求されるかもしれないので、十分ご注意ください。実際にストレステストのシナリオを作っていこうと思います。スレッドグループで追加します。何秒かけて起動するか*1ループ回数(上の設定を何回ループするか)などを設定します。1とした場合、10秒で5スレッドを起動するので、2秒に1回(初回の)クエリが発行されることになります。次に接続先のサーバを指定します。HTTPリクエスト初期値設定で追加します。ここでは接続先のサーバ名やプロトコルなどを一括で指定することができます。すべてのクエリに載せたいパラメタなんかもかけそうです。次に各画面ごとのクエリを追加していきます。HTTPリクエストで追加します。サンプラーの画面ではパス(URLのコンテキスト以下)GETかPOSTかクエリのパラメタなどを指定します。メソッドはGetです。別のサンプラも作ってみます。ログイン画面表示後の次のアクションであるログイン処理のサンプラを作成します。下記のようにスレッドグループの下にログインアクションを追加しました。取るので「リクエストで送るパラメータ」の欄にパラメタとして追加してあります。パラメタの値は可変である場合が多いですが、サンプルは固定で問題ないのでと、りあえず固定で値hoge,fugaを設定しています。ここまでで一度実行してみます。開始でストレステストが開始されます。サーバのログなどを見ると負荷がかけられているのが分かると思います。先ほどサーバに負荷をかけしましたが、レスポンスタイムやスループットがどれくらいでているかはリスナーという機能で見ることができます。統計レポートでリスナーを追加します。これらのリスナーはいわゆるレポート機能で「結果を表で表示」はリクエストごとのレスポンスタイムを見ることができます。「統計レポート」はサンプラーごと(=画面ごと)の平均*2レスポンスタイム、スループットなどを見ることができます。次は戻り電文のアサーションをしてみたいと思います。アサーションは、想定しているhtmlが返ってきているかどうかを確認するために用います*3。アサーションで追加します。アサーションの画面ではどのようなアサーションを行うかを指定します。下の例では、ログイン後に返ってくるhtml内に「ログインできました!」という文字列が含まれているかどうかをチェックしています。これでテスト実行しましょう。アサーションの結果は先のリスナ「結果を表で表示」で確認することができます。パスワードなどが間違ってて、戻りhtmlに「ログインできました!」という文字列が含まれていなかった場合は、ステータスが「!」などになるわけですね。