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
    

まとめ

ロジックコントローラとか色々便利な機能が他にもあるけど、
とりあえず基本的なテストはこれでできるかな。
機会があればもうちょっと掘り下げた内容も書きます。