share facebook facebook twitter menu hatena pocket slack

2015.08.28 FRI

複数台でJmeterの負荷試験を行う

佐藤 裕行

WRITTEN BY 佐藤 裕行

複数台でのJmeter試験

何番煎じかわからないが、Jmeterでの負荷試験を行う際の構成メモ。
OSはWindowsで構築。

構成

Jmeterクライアント:1台
Jmeterサーバ:2台

f89f0014-c3f3-7c45-8cbe-bb91fe1e3e83

前準備

Jmeterの実行環境を整える

サーバ

AWSであれば、ネットワークがHigh以上のインスタンスで
メモリが7GB以上あるインスタンスをお勧めする。
Jmeterのクライアントは結果出力のため、メモリ最適化インスタンスでも問題ない。

Java

jdkの64bitをインストールすること。
32bitだとメモリ制限あり。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

FW

邪魔なので無効。
ポートを指定して許可したい場合は、こちらのブログが参考になります。
http://d.hatena.ne.jp/terazzo/20130819/1376929377

AWS

ELBに向けて負荷をかける場合はPre-Warmingを忘れずに。(サポート加入必須)
http://www.slideshare.net/AmazonWebServicesJapan/20130612-aws-meisterregenerateelbpublic/47

Jmeter

公式から最新版をダウンロードして、お好きなフォルダに配置。
http://jmeter.apache.org/download_jmeter.cgi

ヒープサイズ調整

調整しないで実施した場合、高負荷で「OutOfMemoryError」が発生することがほとです。
Jmeterクライアント/サーバともに割り当てるメモリ量を調整して、Jmeterを起動するようにする。

apache-jmeter-2.13binjmeter.bat
# サーバの性能によって調整 Xms初期 Xmx最大
set HEAP=-Xms1024m -Xmx4096m

リスナーの調整

長期的な負荷試験では、
詳細な情報のリスナーを取得しているとファイルに出力したとしてもメモリを食いつぶす事があります。
その際は統計レポート等などに絞るのが良い感じでした。

Jmeterクライアント設定

Jmeter-SeverのPrivateIPを指定する

apache-jmeter-2.13binjmeter.properties
remote_hosts=xxx.xxx.xxx.xxx:1099,xxx.xxx.xxx.xxx:1099

JMX

負荷試験を実施するシナリオはWebの仕様に合わせて作成する。
ユーザの挙動の合わせ定数タイマを設定しないとDOS攻撃のようなシナリオになるので注意。

試験

サービスを起動する。
Jmeter-Server側で「jmeter-server.bat」
Jmeter-Clinet側で「jmeter.bat」
実行→開始(リモート) からRemote先のIPが閲覧できていれば問題ない。
jmxを開き、スレッド数、Ramp-UP、スケジューラを設定し、試験を実行する。

元記事はこちら

複数台でJmeterの負荷試験を行う

佐藤 裕行

佐藤 裕行

元NIerの通称砂糖です。AWSのネットワークまわりには詳しいです。現在は構築チームに所属し、多忙な日々を過ごしています。