はにまログ

「はにまる」のようにゆるーく生きたい。

JMeterについて調べてみた

これからJMeterを使う予定なので下調べ。

GUIインターフェースを使ってかなり細かく負荷テストのシナリオを設定する事ができます。
面白いのは、ブラウザで辿ったページを記録して、それに対して負荷テストをしたりする事もできたりする点です。

WEBサイト負荷テストツール7選 | さぶみっと!JAPAN

エラー発生の有無、期待したデータがレスポンスに含まれているかの確認なども簡単に行うことが可能

http://www.jasst.jp/archives/jasst07e/pdf/C2-1.pdf

これらから手順を抽出し、自分の考えを加えた。

1 テスト環境の作成

プロジェクト、スクリプトの配備
  • 設定ファイルの修正(取りあえず動かせるようにするだけ、チューニング等は後から行うのでプレーンなまま)
  • CSV出力先などワーキングディレクトリのパーミッションの確認
  • 既存ログファイルのクリーニング
DBの配備
  • 設定ファイルの修正(取りあえず動かせるようにするだけ、チューニング等は後から行うのでプレーンなまま)
  • 既存ログファイルのクリーニング
負荷試験に供するテストデータの作成
  • マスタ、トランザクション共に、実運用時の件数に近づける(コーディング中の未熟なデータが入らないように注意する)
テスト計画の計画
  • テスト対象ページの決定(負荷がかかりそうなものに絞り込んで)
  • 要件の確認(応答時間の上限、最大利用人数、同時接続人数)
  • 最初は1スレッド1シナリオで。目標クリアできれば、徐々にスレッド数を増やしつつ再試験。

2 ダウンロード

JMeterダウンロード先
Apache JMeter - Apache JMeter™

3 インストール

tarを解凍

4 起動

binディレクトリのjmeter.batを実行

5 テスト計画の作成と実行

  1. スレッドグループの作成
  2. タイマの設定(同時アクセスのテストでなければ設定の必要あり)
  3. デフォルトHTTPリクエストの作成(サーバ名やIPを指定)
  4. テスト内容の設定
  5. リスナーの作成(テストレポートのファイル名を指定)
  6. テストプランの保存(上記で指定した内容を保存)
  7. 実行
ポイント
  • スレッド数 = ユーザ数
  • シナリオ = テスト内容
  • 容量不足になったらヒープサイズを増やす(jmeter.batで指定)
テスト内容は2種類の方法で指定できる

A)サンプラーの作成

  • シンプルなリクエストでよい場合
  • リクエスト先のパスを指定するだけでよい

B)ブラウザ操作からテスト計画を自動作成

  1. HTTPプロキシサーバエレメントの追加
  2. Webブラウザのプロキシサーバを設定
  3. シナリオの実行(JMeterをプロキシモードで作動させ、テスト計画を記録させる)
  4. テスト計画の編集

6 結果の確認

  • 指定回数分、実行されたか?実行回数を確認。
  • 平均応答時間は目標範囲内か?(例えば、2秒以内とか)

7 チューニング

DBサーバやWebサーバに割り当てるメモリを増やすなど