Web アプリの負荷試験ツールの定番 Apache Jmeter を少しだけ触る機会があったのでメモです。

設定エレメント(Config Element)のユーザー定義変数(User Defined Variables)にユーザー定義変数を使う方法です。また、設定エレメントのカウント(Counter)をユーザー定義変数に使う方法もメモしておきます。他にも応用できるかも。
尚、使用した Jmeter は 2015年 6月 1日現在の最新版、Apache JMeter 2.13 です。
ユーザー定義変数の値に変数を使う
やりたいことは単純です。

名前 | 値 |
---|---|
aaa | alpha |
bbb | beta |
ccc | ${aaa}@${bbb}.example.com |
上記 ccc のように、ユーザー定義変数の値に変数を使いたい。でも この設定方法では うまくいきません。

ccc=${aaa}@${bbb}.example.com
この通り。Debug Sampler で確認すると、ccc 内の変数が展開されていません。この解決策は簡単で、ccc の定義を、使用する変数とは別のユーザー定義変数エレメントで設定すれば OK です。
修正後


ccc=alpha@beta.example.com
ユーザー定義変数の値にカウンタ エレメントの変数を使う
次のように定義したカウンタ エレメントの参照名 counter 変数をユーザー定義変数の値に使いたい場合です。


名前 | 値 |
---|---|
ddd | ${aaa}${counter}@${bbb}.example.com |
上記 ddd ですが、記事にするからには この設定方法では うまくいきません。

ddd=alpha${counter}@beta.example.com
このように残念な結果。counter 変数が展開されていません。この解決には、BeanShell サンプラーで変数を定義します。
BeanShell サンプラーで変数を定義する方法
vars.put("eee", "${aaa}${counter}@${bbb}.example.com");

結果

eee=alpha001@beta.example.com
(おまけ)最近の Jmeter 事情と筆者のハマりポイント
- zip の解凍に Lhaplus を使うと気付きにくいが実は失敗している
(Windows 7 標準の zip 展開なら大丈夫) - 起動は bin 配下の jmeter.bat を実行するだけ(Java を事前にインストールしておく必要あり)
- https は追加コンポーネント無しでアクセス可能
どなたかのお役に立つことを願いつつ 以上です。
Hey, that’s a clever way of thnniikg about it.
; Guez a été victorieuse, défaisant Leonardo Morales dans les finales.