セキュリティグループ
EC2 上のセキュリティグループ(Security Group)は、ポート 22 だけ開ければ OK
SSH TCP 22 0.0.0.0/32
JMeter サーバの設定
cd apache-jmeter-3.0/bin
vi ./jmeter.properties
以下の 2つ行をそれぞれ見つけて修正する。
server_port=10991 # クライアントの JMeter から接続するためのサーバ側ポート、クライアント→サーバ
server.rmi.localport=40001 # サーバ側からクライアントへ RMI 通信するためのポート、サーバ→クライアント
※この 2つのポートは、JMeter のクライアントから SSH で JMeter サーバ間へトンネルをはるときに設定するので、実際はポート 22 上を通ってこれらのポートが接続される。
3台のリモートサーバをコントロールしたい場合は、上と同様に 2番機、3番機でそれぞれ以下のように修正する
server_port=10992 # クライアントの JMeter から接続するためのサーバ側ポート、クライアント→サーバ
server.rmi.localport=40002 # サーバ側からクライアントへ RMI 通信するためのポート、サーバ→クライアント
server_port=10993 # クライアントの JMeter から接続するためのサーバ側ポート、クライアント→サーバ
server.rmi.localport=40003 # サーバ側からクライアントへ RMI 通信するためのポート、サーバ→クライアント
JMeter サーバの実行
./jmeter-server -Djava.rmi.server.hostname=127.0.0.1
JMeter クライアントの設定
cd apache-jmeter-3.0/bin
vi ./jmeter.properties
以下の2つ行をそれぞれ見つけて修正する
# JMeter クライアントが使用する JMeter サーバの情報
remote_hosts=localhost:10991,localhost:10992,localhost:10993
# JMeter クライアントが RMI 通信で受信に使用するポート
client.rmi.localport=5000
※この 2つのポートは、JMeter のクライアントから SSH で JMeter サーバ間へトンネルをはるときに設定するので、実際はポート 22 上を通ってこれらのポートが接続される。
SSH のトンネルのはり方
~/.ssh/config を作成または編集する。
vi ~/.ssh/config
以下を追加
Host jmeter-1
HostName xxx.xxx.xxx.xxx # リモート側の JMeter IP アドレス
IdentityFile ~/.ssh/id_rsa
User root
LocalForward 10991 localhost:10991
LocalForward 10992 localhost:10992
LocalForward 10993 localhost:10993
LocalForward 40001 localhost:40001
LocalForward 40002 localhost:40002
LocalForward 40003 localhost:40003
RemoteForward 5000 localhost:5000
クライアントから jmeter-1 に接続してトンネルをはる(jmeter-2、jmeter-3 用のポートフォワーディングも設定されているので JMeter の 2番機や 3番機に接続する必要はない)。
ssh jmeter-1
JMeter クライアントの実行
./jmeter.sh -Djava.rmi.server.hostname=127.0.0.1