jmeterをMacで使ってみる
jmeterをmacにインストールしてとりあえず使ってみるところまで試してみました。
環境は Mac OSX10.9でjmeterのバージョンは2.11です。
手順
インストール
- 公式サイトからバイナリをダウンロード
- 任意のディレクトリとかに移動して解凍
-
起動してみる
sh [jmeter展開したディレクトリ]/apache-jmeter-2.11/bin/jmeter
簡単なテストをしてみる
-
スレッドグループを作成
編集⇒追加⇒Threads⇒スレッドグループで作成
ここでスレッド数やRamp-Up数、ループ回数等を指定する。
- スレッド数 : テスト中に起動するスレッド数(ユーザ数みたいな意味)
- Ramp-Up数 : 上で設定したスレッド数を何秒間で生成するかを決定する。
例えばスレッド数が10でRamp-Up数が5だったら5秒間で10スレッドが生成される。 - ループ回数 : 一つのテストケースを何回繰り返すか設定。無限ループ設定も可能。
なのでスレッド数10、Ramp-Up数5、ループ回数100の場合
5秒間で合計1000リクエスト(秒間同時接続数2(10/5))となる。 -
サンプラー(HTTPリクエスト)を作成
スレッドグループ上で右クリック⇒追加⇒サンプラー⇒HTTPリクエストで作成
ここでホストやリクエストタイプ(GET/POST等)、リクエストパラメータの指定を行う。
-
リスナーを作成
テストの実行結果を色々な表示で可視化する。
個人的によく使うのは以下の二つ。-
統計レポート
テストの結果をサマリで確認できる。
負荷テストとかはここを見てればとりあえず良さそう。 -
結果ツリー
各アクセスのrequest/responseの内容が確認できる。
負荷テスト時等はメモリ圧迫したりするので必ずoffにする。
-
-
テストを実行してみる
メニューバーの実行、もしくは緑三角ボタンを押してテストを実行する。
事前に作成したリスナーに結果が表示されるので確認。
ちょっと応用
-
URLパラメータにランダムな値を動的に設定する
下記のようにHTTPリクエストのサンプラー設定画面内のparametersにURLパラメータを設定する。
その際値の方を${__Random(0,300)}
のように設定する。
この場合、0から300の値がランダムにoパラメータに設定される。
他にも色々関数があるので必要に合わせて。
-
URLパラメータとかパスの値をテキストファイルから読み込む
-
テキストファイルに読み込ませたいパラメータを書いて保存しておく。
# test.txt test1 test2 test3
-
スレッドグループ上で追加⇒前処理⇒ユーザパラメータを作成する。
- 作成したユーザパラメータを開き、「変数を追加」ボタンで変数を定義する。
- 名前は任意でOK(仮にtestparamとする)、隣の欄に「${__StringFromFile(test.txt)}」のような形でファイルを読み込む。
ファイルパスはjmeter起動時のディレクトリがカレントになるので適宜変更する。 - 読み込んだ値を使用する箇所で「${testparam}」として記述すればファイルからパラメータ等を設定できる。
-
-
コマンドラインから実行
サーバ上から別サーバへのアクセスをする場合等、
コマンドラインから起動したい時は以下のようにする。# 事前に作成しておいたjmxファイルを引数にして実行する。 # ログファイルが必要な場合は`-l`オプションを指定して出力可能。 ~/xxx/bin/jmeter -n -t test.jmx -l test.log
まとめ
ロジックコントローラとか色々便利な機能が他にもあるけど、
とりあえず基本的なテストはこれでできるかな。
機会があればもうちょっと掘り下げた内容も書きます。