こんにちは、最近筋トレにハマってます、wanashiです。
先日、社内向けに負荷試験の手法についての勉強会を開催したので、その資料を公開します。
今回はミドルウェアのチューニングではなく、主にJMeterの話です。
大規模負荷テストの負荷かけ手法とトラブルシュート
負荷試験において、負荷をかける側(JMeter)の話はミドルウェアのチューニングに比べてニッチなのかそれほど情報は多くありません。
特に、秒間10000リクエスト級の負荷試験のノウハウともなると見つけるのはかなり困難です(私は見つけられませんでした)
このスライドで負荷試験でハマる人が少しでも減れば幸いです。
■内容
負荷試験で、負荷を「かける側」の話(ミドルウェアのチューニングの話ではないです)
■想定する対象者
負荷試験とかJMeterってどんなものか、なんとなく知ってる人
負荷試験で負荷がうまくかからなくて、苦しんだ人
将来、大規模負荷試験してみたい人
■前提条件など
使用する負荷試験ツールは JMeter3.0
→ GUIモードでシナリオを作り、CUIモードで動作させる
秒間2000 〜 10000 request ぐらいの負荷試験を想定
言葉の定義
– ストレスサーバ … 負荷をかける側のサーバ
– アプリサーバ … 負荷をかけられる側のサーバ
– シナリオ … JMeterで実行する負荷試験ファイル(.jmx)
■もくじ
– 目標の負荷がかからない
– 切り分け方
– JMeterが原因だった場合
1 JMeterをクラスタリングさせていないか?
2 ストレスサーバのLoad Average, CPU Usageは高くないか?
3 ストレスサーバの性能は限界まで引き出せているか?
4 シナリオ, パラメータ設定は間違っていないか?
– 負荷かかるけど、エラーが出る
1 アプリ, ミドルウェアでエラーは出てないか?
2 リクエスト間隔が短すぎないか?
3 JMeterのタイムアウト時間が短すぎないか?
4 スレッド数が多すぎないか?
5 ランプアップタイムは適切か?
6 それでもわからなかったら