Apache JMeter - Apache JMeter™

10年ぶりぐらいにJMeterを使ってみました、バージョンもすっかり上がって5.x系になっていました

インストール

nobiki/gandamuにもスクリプトを置いています

1
2
3
4
5
sudo mkdir -p /usr/local/src/jmeter/
sudo wget "http://ftp.riken.jp/net/apache/jmeter/binaries/apache-jmeter-5.1.tgz" -O /usr/local/src/jmeter/apache-jmeter-5.1.tgz
sudo tar zxvf /usr/local/src/jmeter/apache-jmeter-5.1.tgz -C /usr/local/lib/
sudo chown -R vagrant. /usr/local/lib/apache-jmeter-5.1/
echo 'PATH="$PATH":/usr/local/lib/apache-jmeter-5.1/bin/' >> ~/.bash_profile

注意点は4行目です。GUI実行時に一部の機能が権限エラーとなるので、root権限になっている場合は、あらかじめ実行ユーザ権限に変えておきます

実行

こんな感じの実行スクリプトをPATHの通った所に置いています。jmeterはCUIで実行する際に使用するので、jmeter-guiという名前にしています

1
2
3
4
$ cat ~/bin/jmeter-gui
#!/bin/bash

java -Dawt.useSystemAAFontSettings=on -jar /usr/local/lib/apache-jmeter-5.1/bin/ApacheJMeter.jar 1>/dev/null 2>/dev/null &

ブラウザを操作してシナリオ作成

JMeter でシナリオを書く時に HTTP プロキシサーバを使えば少し捗るかもしれないメモ - ようへいの日々精進XP

上記ブログを参考にHTTPプロキシサーバを設定していきます。詳しい手順はリンク先におまかせして、手順の概要のみメモしておきます

  • スレッドグループを作る
  • スレッドグループに、ロジックコントローラ -> 記録コントローラ を作る
  • テスト計画に、HTTPプロキシサーバ(HTTP(S) Test Script Recorder)を作る
  • HTTPプロキシサーバに、上で作った記録コントローラを見るよう設定する
  • ポートなどを設定して、プロキシサーバを起動
  • Chromeの設定でプロキシサーバを設定する
  • Chromeでアクセスすると、記録コントローラにシナリオが記録されてく

SSLの設定

How to Record a Scenario With JMeter - Jmeter - OctoPerf

jmeterは、実行ファイルのあるbin/ディレクトリに認証局を生成します

1
2
$ ls -l /usr/local/lib/apache-jmeter-5.1/bin/ | grep RootCA
-rw-r--r-- 1 vagrant vagrant 1313 3月 7 18:07 ApacheJMeterTemporaryRootCA.crt

この認証局をブラウザに設定します(ここではChromeの場合の例です)

  • 設定 -> 詳細設定 -> 証明書の管理
  • 「認証局」を選んで、ApacheJMeterTemporaryRootCA.crtをインポート
  • 常に信頼する設定にする

以下は必要ないかもですが、設定したのでいちおうメモ

1
2
3
4
5
// debianの場合
cd /usr/local/lib/apache-jmeter-5.1/bin/
sudo cp ApacheJMeterTemporaryRootCA.crt /usr/share/ca-certificates/
sudo sh -c 'echo "ApacheJMeterTemporaryRootCA.crt" >> /etc/ca-certificates.conf'
sudo update-ca-certificates