社内用にちんまいWebアプリを作って運用してたりするけど、最近、利用が拡大してきたので、負荷的に耐えれるのか心配になり、ちょっと負荷テストをやってみる。JMeterを使用したけど、そのあたりのメモ。いろいろ解説サイトがあるんだけど、正直あーだこーだ多すぎて、とりあえずやるってものがない。なのでとりあえずやるって感じの場合。

なんとゆーか全体的にもろもろの解説サイトのノリがアレな感じがして、ちょっと引いた。最近Java触ってないけど、近頃のJavaちっくな人たちはあーゆーノリが多いのだろうか。。。。

まぁいいや。とりあえず本家からダウンロード。DownloadsのBinariesから。zipの落とせば問題ないはず。

展開したら、中のbinの「jmeter.bat」で起動かな。念のため右クリ⇒管理者で実行でやる。起動したら初画面は↓の感じ。

no title

まずは、テスト計画に「スレッドグループ」を作る。
1

そしたら、スレッドグループに「記録コントローラ」作る。
2

次は、ワークベンチにHTTPプロキシを追加する。
3

で、このプロキシを動かして、ブラウザでこの子を通して、テストしたいサイトにアクセス。テストしたい手順を自分の手で一回やって、プロキシ側で記録コントローラにテストシナリオのスクリプトが作られていくとゆー寸法です。

プロキシのデフォ設定は↓の感じ。
5
ポートとか特に問題なければ開始をクリック。
あー、クリックすると↓のポップアップでるけど、気にせずOK。
6

そしたら、ブラウザのプロキシをこの子につなぐように設定してあげる。↓の感じ。IEの場合。
7
8

あとは、ブラウザでサイトにアクセスすると、記録コントローラにGetしてるURLがどんどんたまる。ログインとかも大抵は問題なく行けるはず。↓の感じ。
10

テストしたい手順をやり終わったら、プロキシ止める。ブラウザの設定ももとに戻しておいた方がいいと思う。

そしたら、テストをやるのですが、何もしてないと手順を実行するだけで、結果がどーなったのか全く分からない。なので、スレッドグループに以下のものを追加しておく。
11

で、実行する。↓の感じ。
13

しばらくすると、テストが終わるので、結果を見る。一番見やすいのは↓の「統計レポート」かな。
14

ここまでで、「とりあえずやる」的な感じ。色々見てると、自分でスクリプト作って~~みたいな事を書いてあったりもするけど、正直そこまでやる気は微塵もなかったりする。これだけ動けば9割くらいは十分でしょ。。。

あと、負荷を計算するのに以下を知っておかないとつらそー。

総テスト回数: スレッド数 × ループ回数
1秒当たりのテストの回数: 総テスト回数 ÷ Ramp-Up期間

Ramp-Up期間がわかりにくい。スレッド数×ループ回数の実行をRamp-Up期間の秒数内で実行するという事らしい。なので、Ramp-Up期間は基本固定なんじゃないかと思う。

あとは、知っておくと便利なとこ。

テストの統計情報はずっとたまり続けるので、パラメータ変えていろいろやりたい場合はその都度クリアが必要。クリアしたい場合は↓のボタン。
15

右上の↓のやつが一体何なのかよくわかんなかったけど、
16
実行しているスレッド数らしい。これが0になればテスト完了みたいな扱い。