Category: "Web, 開発" , Tags: HTTP, JMeter, サンプラー, テスト, パターン, リクエスト
先日別件の仕事で、JMeterを使いました。
しゃちょーから、「今作ってるやつ、JMeterってのを使って負荷テストをやっておきたいんだけど、
使い方調べといて」と言われて、このツールの存在すら知らなかった私は「????」と思いながら
WEBで使い方の検索開始。
結局は自分で動かしてみないと分からなくて、ダウンロードしてやってみました。
今回の使い方は負荷テストというより、パターンテストとして威力を発揮してくれました。
利点としては、以下のようなことだったと思います。
・リクエストの正当性がテストできる
・テスト値を重複して何度も設定しないで済む
・テスト内容のコピーが簡単
・動的な値も設定できる(今回はインクリメント)
やりにくかったことは以下のことです。
・テスト結果をツリーで表示する場合に、ツリー部分にはサンプラーの名前しか入らないので
パターンを見分けにくかった。
・用意されているリスナーだとテスト結果をドキュメント化するのには割と手間がかかる。
(これは当たり前なんだけど)
【JMeter】
(ダウンロード:http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi)
起動はWindows上で動かす場合、解凍されたディレクトリのbin\jmeter.batより起動。
いくつかの説明をしてくれているサイトで見て最初に思ったのは、JMeter上で使われている文言と、
実際にやりたいことがなかなか結びつかない、ということでした。
サンプラーってなに?とか。
で、私のやった作業をメモとして書いておこうと思います。
・最初にやることは「スレッドグループ」の作成
起動すると、テスト計画とベンチマークのみがあるので、テスト計画の部分で右クリック。
まずは「スレッドグループ」を作る。
これは実行するテストの基本設定で、負荷テストをやるなら当たり前だけど、どのくらいの
リクエストをどんな間隔で投げるのか、ということ。
全テストパターンでそれぞれ同じぐらいの数のリクエストを投げればいいのであればそれほど
気にすることはないけど、ここを変動させたい場合には分ける。
その他に、テスト結果をどの単位で見たいかによって分けるのも有効です。
・次は「サンプラー」
サンプラーは投げるリクエストの一番元になる部分です。
リクエストを投げる先のサーバ情報と、呼び出すファイル、メソッドを設定します。
更にここではパラメータの指定ができます。
要は http://[サーバ情報]/[呼び出すファイル]/[パラメータ] のように、画面での設定項目が
繋がって一つのリクエストが出来上がるという感じ。
最初は、これが今ひとつこれが理解しにくかったところでした。
・拡張ヘッダをつけたい
いわゆる拡張ヘッダとかの、固有のヘッダを付与したい場合には、設定エレメント内の
「HTTPヘッダマネージャー」を追加します。
これでヘッダフィールドと値を設定できます。
・どのHTTPリクエストにも反映させたい内容の設定
「HTTPリクエスト初期値設定」を反映させたいものの一つ上の階層に追加します。
その配下にあるサンプラー全てにこの内容が反映されます。
部分的にリクエストの内容を変えたい場合には、何度も同じ内容を入力しなくて済むこの設定が有効です。
今回はここまで。
リスナーの話は次回。


