2013年8月29日木曜日

jMeter はじめての負荷テスト

JMeter を使って負荷テストをすることになった。
ぶっちゃけ触ったことすらないのでまずは基本操作を覚える。

参考
・今から3分で jmeter の使い方を身に付ける  (負荷テスト入門)
http://d.hatena.ne.jp/language_and_engineering/20081014/1223905380

/*---- インストール ---------------------------------------------------------*/

公式サイト(http://jmeter.apache.org/)から
apache-jmeter-x.x.zip をダウンロード。x はバージョンです。
解答して任意の場所に移して bin/jmeter.bat を起動しましょう。
なんかそれっぽい画面が立ち上がったら成功です。

/*---- 動かしてみる ---------------------------------------------------------*/

1.左にある「テスト計画」を右クリック。
    「追加」→「スレッドグループ」で適当にパラメータを登録。
    とりあえず参考にしたサイト通りにスレッド数を50。
    Ramp-up期間を10秒にしてみます。
    Ramp-up期間はスレッド立ち上げ期間のことだそうです。
2.できたスレッドグループからさらに
    「追加」→「サンプラー」→「HTTPリクエスト」。
    サーバ名を使用するサーバに、パスをアクセスする場所に。
3.さらにスレッドグループから
    「追加」→「リスナー」→「結果を表で表示」。
4.適当な名前をつけて保存。
5.実行!

できた。表で表示した結果はそのままエクセルにコピーできるみたい。便利。

/*---- 色々機能を使う -------------------------------------------------------*/

・リスナーを色々使ってみる
  テストの結果を表示するにはリスナーを使う。上で使ったもの以外にも色々ある。
  「統計レポート」や、「結果をツリーで表示」は使えるかと。

・GETパラメータの送信
  クエリ。HTTPリクエストの「リクエストで送るパラメータ」というところに
  値を追加すればいけた。

/*---- 外部ファイルから変数を持ってくる -------------------------------------*/

他にも方法があるのかもしれませんが、今回は CSV を使用。

1.CSVファイルを作成する
    行が1スレッドに割り当てられる変数。
    列が各変数の値。
    わかりづらいけど表にするとこんなん

/*---------------------------------------------------------------------------*/
                   | value_1   | value_2     |
    thread_1    | hoge      | hogehoge  |
    thread_2    | fuga       | fugafuga   |
/*---------------------------------------------------------------------------*/

    作成したファイルは bin 直下に置くのがパスも気にしなくていいので楽。

2.HTTPリクエストから「設定エレメント」→「CSV Data Set Config」を追加。
    FileName にパスを通して、
    Variable Names に変数名を設定。今回は name,pass とでもしておきます。
    この設定により jMeter 上ではこうなる。

/*---------------------------------------------------------------------------*/
                   | name      | pass      |
    thread_1    | hoge      | hogehoge  |
    thread_2    | fuga      | fugafuga  |
/*---------------------------------------------------------------------------*/

3.HTTPリクエストの「送信するリクエストパラメータ」に追加。
    jMeter で設定した変数を使う場合は ${name} ${pass} というふうにする。

一通りやってみたことまとめ。
なんとなく jMeter を使った気分!

0 件のコメント:

コメントを投稿