メニュー

負荷テストについて

こんちは!開発2部の吉岡です。

今回はサーバーの負荷テストに関するお話です。

ツール

オーツーでは負荷テストにjmeterを使用しています。

GUIだけでなくCUIでの起動にも対応しており、Windows・Mac OS・Linuxと各プラットフォームで動作してくれます。
高機能過ぎる感もありますが、使い慣れてくると開発に必須のツールになってしまいます。

負荷テストの流れをざっと書くと下のような感じです。

  1. WindowsやMacでGUIを使用してテストの設定を作成。jmxファイルを保存。
  2. サーバーにもjmeterを設置。jmeterからダウンロードして展開しておくだけです。
  3. jmxファイルをscpなどでサーバーにアップロード。
  4. CUIでjmeterを動かしてテストを実施。被テストサーバーで、sar等で負荷状態を記録しておきます。
  5. 結果を回収して集計。
  6. パフォーマンスがビミョウであれば、原因の調査・修正。再テスト。期待している結果が得られたかチェックします。詳細は、別記事で…
  7. 問題がなければ、結果をまとめる。結果をエクセル等に清書してまとめておきます。

設定値

jmeterは実行時、loopやthread、rampupというような負荷パラメータを設定します。

案件にもよりますが、このパラメータは想定DAUと、ユーザーの想定アクセスパターンから、単位時間でのアクセス数を計算して算出します。
負荷的な余裕を考えて、算出した数値の2倍の負荷をかけることが多いです。

ただ、この設定値の計算は、案件によって様々でなかなか一概には言えません…

負荷テストの実行

クラウド上のサーバーでjmeterを動かし、被テストサーバーに負荷をかけます。

例えば、↓のような感じです。

/usr/local/apache-jmeter/bin/jmeter -n -t /home/hoge/huga.jmx -l /var/log/jmeter_huga.log  -Jhoge=100
  • -t :jmxファイルの指定
  • -l :出力ログファイル
  • -Jhoge:jmeter内で${__P(hoge)} としておくと、負荷パラメータ等をコマンドライン引数として動的に設定することが出来ます。

jmeterの余談

jmeterは非常に高機能なので、設定次第ではユーザーの行動をシミュレートしてWebサーバにアクセスすることも出来ます。

例えば、下のような感じです。

ログイン

ホーム画面

ガチャを引く

クエスト一覧

クエスト実行

クエスト終了

ホームに戻る

上のような一連の行動を開発環境で自動的にループさせておくと、それっぽいテストデータを得ることが出来ます。
で、それを動作確認用テストデータとして使用できるという寸法です。

こちらに続編的なエントリーを投稿しました。

この記事をシェアする

  • twitter
  • facebook
  • Google+
  • B!はてブ
  • pocket
トップへ戻る

CONTACT

ゲーム開発、Webサイト制作に関するご相談等ございましたら、お気軽にお問い合わせください。

ゲーム開発に関する
お問い合わせはこちら

Webサイト制作に関する
お問い合わせはこちら