どうも、開発2部でサーバ担当してる山本です。
ご無沙汰していましたが、今回はJMeter(ジェイメーター)について書いてみました。
最近のサーバーサイドの開発ではネイティブアプリで利用するAPIの開発がメインで、
その場合はjson形式でアプリとやり取りすることが多いです。
弊社では負荷試験にJMeterを利用しておりますが、
JMeterはレスポンスがhtmlでなく、jsonになっても問題なく使えます。
負荷試験の定番ツールなので既に使っておられる方も多いのではないでしょうか。
このJMeterのいくつかの機能を想定される利用ケースを交えながら
3回に分けて紹介したいと思います。
▼全記事はこちら【JMeter講座③(全3回)】
【JMeter講座①(全3回)】カウンタ/Random Variable/CSV Data Set Config
【JMeter講座②(全3回)】正規表現抽出/BeanShell PostProcessor
【JMeter講座③(全3回)】BeanShell PreProcessor
今回紹介するのは以下の機能です。
- カウンタ
- Random Variable
- CSV Data Set Config
準備
JMeterは↓からダウンロード出来ます。
http://jmeter.apache.org/download_jmeter.cgi
今回はapache-jmeter-2.13.zipを使いました。
Lhaplusで展開したところエラーが出て展開できませんでしたが
7-zipで展開したらうまくいきました^^;
使い方はTECHSCOREさんのページで分かりやすく紹介されてます。
http://www.techscore.com/tech/Java/ApacheJakarta/JMeter/index/
カウンタ
JMeterではシナリオの中でユーザー定義変数を扱うことができるのですが、
実行毎にカウントアップするような簡単なカウンタであれば予め便利な機能が用意されています。
上の例では初期値1、増分1のカウンタを定義しており、
後の処理では${test_counter}で参照できます。
カウンタは「設定エレメント」「カウンタ」から追加できます。
後の処理ではこのように利用できます。
例えばユーザー登録のAPIを実行する際、ユーザー名に連番を付ける場合に使えます。
Random Variable
ユーザーの選択肢やインゲームの結果など操作によりパラメータが変わる場合はRandom Variableが便利です。
Random Variableは「設定エレメント」「Random Variable」から追加できます。
上の例では1~3の乱数を発生させて利用しています。
CSV Data Set Config
CSV Data Set Configを使えば、CSVファイルからパラメータを取得することができます。
CSV Data Set Configは「設定エレメント」「CSV Data Set Config」から追加できます。
テストで使うCSVは以下の内容で、「ユーザーID」,「選択」のイメージです。
75,1 171,2 645,3 810,4 1147,1 1210,2 1218,3 1369,4 1608,1 1629,2
上の例のように複数項目、複数レコードをパラメータとして利用できるので、
予めテストユーザーのIDやシナリオが決まっている場合に役立ちます。
いかがでしたでしょうか。
今回は変数周りの機能でよく使いそうなものをピックアップしてみました。
次回はサーバーから返却されたjsonの内容を
後続のリクエストで利用する方法を紹介する予定ですのでお楽しみに!!
ではでは。