負荷テストで、どのようにリクエストを発生したらよいか分からないとき
負荷テストをする時にJMeterを使用することにしたが、対象となるサイトが自作ではないため、どのようにリクエストを飛ばしているかが不明である。Wiresharkなどのプロトコルアナライザで調べれば何とかなると思うが、各画面をいちいち調べるのは大変である。
そこで、http://blogs.sun.com/okazaki/entry/throughput_analysis_2を参考にしたところ、簡単にできた。
実際にブラウザにアクセスしてその記録をJMeterに登録するというものである。手順として大まかに以下のとおりである。詳しくは、http://blogs.sun.com/okazaki/entry/throughput_analysis_2がとてもわかりやすく記述してあるのでそれを参照してほしい。
- ロジックコントローラの記録コントローラを追加する。
- ワークベンチにNon-TestエレメントのHTTPプロキシサーバを追加する。
- HTTPプロキシサーバの対象となるコントローラを「スレッドグループ > 記録コントローラ」にする。
- ブラウザのプロキシサーバをlocalhost:8080に設定する。ただしlocalhostのポート8080がふさがっている場合はHTTPプロキシサーバおよびブラウザのプロキシサーバのポートを8080以外に変更する。
- 開始ボタンを押して実際にブラウザにアクセスを行う。
- アクセスが終了したら終了ボタンを押す。
これで、記録コントローラにアクセスをしたときに発生したHTTPリクエストが追加される。