シナリオの開始時、終了時に実行されるスレッドグループとSSHサンプラー

シナリオの開始時、終了時に実行されるスレッドグループ

  • シナリオ開始時に実行されるスレッドグループ
    [追加] → [Threads(Users)] → [setUp Thread Group]
  • シナリオ終了時に実行されるスレッドグループ
    [追加] → [Threads(Users)] → [tearDown Thread Group]

SSHサンプラー

SSHコマンドを実行してくれるサンプラー。

jmeter-ssh-samplerのjarをJMETER_HOME/lib/extに、
JSchのjarをJMETER_HOME/libに置くと、
[追加] → [サンプラー] の一覧でSSH commandというサンプラーが選択できるようになる。
主な入力欄はhost,port,user name,password,commandの5つ。
見た感じ鍵ファイルの入力欄はないので認証はID、PASSオンリーっぽい。

この2つがあれば

  1. 負荷試験シナリオ開始時に対象マシンのリソース取得開始コマンドを実行
  2. 負荷試験シナリオ実行
  3. 対象マシンのリソース取得終了コマンドを実行
  4. リソース状況ログをグラフ化するコマンドを実行

なんてことがJMeterのシナリオで実行可能になる。
何だかんだで、全部シェルスクリプトで書くよりもこっちの方が楽だった。


2013/9/12追記
なんか別環境で同じようにシナリオ作ったら鍵の入力欄があった。
違うのはJDKだけ。なんでだろ?
あと、バックグラウンドで実行されるようなコマンドの場合、
コマンドを以下のような形にして標準出力がされないようにしないと
シナリオが止まってしまったので注意。

nohup command > /dev/null 2>&1