AWS
JMeter
WindowsServer2016

AWS Windows Server 2016でのJMeter環境構築(分散環境編)

More than 1 year has passed since last update.

この記事では、AWS ec2のWindows Server 2016に、JMeter3.2の環境構築をしました。また、CentOS7と組み合わせた分散環境を構築します。Windows側をマスターに、CentOS側をスレーブにします。リモートデストクップクライアントは、Microsoft Remote Desktop for Mac Beta version 8.2.31を利用しています。


1. Windows単独環境でのJMeter構築

単独環境での構築については、「AWS Windows Server 2016でのJMeter環境構築」を参考にしてください。


2. CentOSでのJMeter構築

ec2でのCentOS7の初期セットアップについては省略します。

必要なコンポーネントを追加します。

$ sudo yum update -y

$ sudo yum install wget -y
$ sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
$ sudo wget http://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz -P /opt/

ダウンロードしたJMeter3.2をインストールします。

$ sudo tar zxvf /opt/apache-jmeter-3.2.tgz -C /opt/

自動起動を設定します。IPアドレスは環境に合わせて指定してください。

$ sudo vi /etc/rc.local

ファイル末尾に
/opt/apache-jmeter-3.2/bin/jmeter-server -Djava.rmi.server.hostname=172.31.27.62 &
を追加します。
$ sudo chmod +x /etc/rc.local

同時接続数を大きくしてもよいように、ファイルディスクリプタの最大数を拡張します。

$ sudo vi /usr/lib/systemd/system/rc-local.service

ファイル内の [Service] の配下に
LimitNOFILE=64000
を追加します。

再起動して動作確認します。

$ ps -ax | grep jmeter

760 ? S 0:00 /bin/sh /opt/apache-jmeter-3.2/bin/jmeter-server -Djava.rmi.server.hostname=172.31.27.62
767 ? S 0:00 /bin/sh /opt/apache-jmeter-3.2/bin/jmeter -Dserver_port=1099 -s -j jmeter-server.log -Djava.rmi.server.hostname=172.31.27.62
905 ? Sl 0:01 java -server -XX:+HeapDumpOnOutOfMemoryError -Xms512m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=250 -XX:G1ReservePercent=20 -Djava.security.egd=file:/dev/urandom -jar /opt/apache-jmeter-3.2/bin/ApacheJMeter.jar -Dserver_port=1099 -s -j jmeter-server.log -Djava.rmi.server.hostname=172.31.27.62
9107 pts/0 R+ 0:00 grep --color=auto jmeter
$ cat /proc/`pgrep java | head -1`/limits | grep 'open files'
Max open files 64000 64000 files

同様の環境を計4セット構築します。


3. マスター設定

Windwosファイアウォールをオフにします。これをしないと、スレーブとうまく通信できません。

Windows側のJMeterのインストールフォルダ配下binにある、jmeter.propertiesを設定します。IPアドレスは環境に合わせてください。


jmeter.properties

remote_hosts=172.31.27.62,172.31.26.37,172.31.20.153,172.31.28.111



4. Jmeterの実行

JMeterを起動して、「AWS Windows Server 2016でのJMeter環境構築」で作成したテストシナリオを呼び出します。

スクリーンショット 2017-05-05 16.54.00.png

今度は、右上の緑矢印が2つ書かれているボタンをクリックします。

すると、4台分に相当する、約4000リクエスト/秒の性能が測定されていることがわかります。

スクリーンショット 2017-05-05 16.57.22.png