こんばんは、Apache Jmeter で負荷試験やっていますか???最近Apache Jmeter を触る機会がありまして、その時は他の人が構築したJMeterを使って負荷試験をやったので、あまり理解していない部分もあったので、一から構築してみたいなと思いました!
なので、今回はJmeter の環境を構築してみます。
今回の環境
AWS クラウドでやっています。vagrant でもできると思います!!
- EC2
- Alma Linux 9.6
- Apache Jmeter 5.6.3
ということでやっていきましょう!!!
構築してみるよ
最初にApache Jmeter は java が必要なので、先にJava をインストールしていきます。
dnf install java-11-openjdk java-11-openjdk-devel
次にApache Jmeter を入れていきます
dnf install wget
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.tgz
mv apache-jmeter-5.6.3.tgz /usr/local/src/
tar /usr/local/src/apache-jmeter-5.6.3.tgz
ここまでくると、とりあえず起動準備ができたのでjmeter server を起動していきます。今回はsystemd にしない形でjmeter-server を起動します。もちろんしても大丈夫です。
cd /usr/local/src/apache-jmeter-5.6.3/bin
./jmeter-server
とすると、エラーが発生しました。。
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
An error occurred: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
なんやこのエラーはと思って、調べているとどうもSSL を有効化で通信をしに行こうとするみたいなので、これは無効化します。
vi jmeter.properties
# 一番下の行に追加
server.rmi.ssl.disable=true
これをしてから起動すると問題なく起動します!!GUI モードで起動すると以下のエラーが発生します。
ed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
An error occurred:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
Linux でJmeter のGUI mode を起動する場合は別途インストールが必要なものがあるので、一旦今回は実施しないことにします。今回はCLI 実行での方法を試していきます。
ということで、以下のコマンドを使って、無事にjmeter-server が起動すれば一旦ここでは問題ないです。
# バックグラウンド実行
./jmeter-server &
まとめ
Apache Jmeter の環境を構築すること自体は結構簡単です。次のブログでは、Apache Jmeter Controller + Worker という構成を作成していきたいと思います。Controller とWorker を使うことによって、負荷分散することが可能になるので、より大きい負荷をかけることが可能になります。楽しみですね!!では、今回はこの辺にしておきます!
コメント