負荷テスターの使用¶
このセクションでは、 チュートリアル用サンプル での負荷テストの実行方法を紹介しています。サンプルの実行には、2 つのクラスタが必要です。1 つ目のクラスタが Genvid スタックを実行し、もう 1 つが負荷テストを実行します。
クラウドでのゲームの実行については、 クラウド環境 を参照してください。
このサンプルは、メトリクスを statsd に送信します。 TICK Stack メトリクス を使用して、メトリクスの収集、確認ができます。
In This Section
はじめに¶
チュートリアル用サンプル は、このデモンストレーション用にすでにクラウド上で実行されているものとします。詳細については、 クラウドのチュートリアルサンプルを作成する を参照してください。
テスト用クラスタを作成する¶
まず、テストを実行するためのクラスタを作成します。
- Bastion UI で、load_test ソースを使用してクラスタを作成します。
infrastructure
のリンクをクリックします (今は、デフォルト設定を使用します)。Commands
メニューをクリックします。- Apply をクリックして、完了まで待ちます。
負荷テスト用クラスタの初期化¶
次に、クラスタに負荷テスターをアップロードします。
py loadtester.py build-cloud
py loadtester.py -c testcluster upload-images --update-config
py loadtester.py -c testcluster load
注釈
必要に応じて、クラスタで TICK Stack メトリクス サンプルを使用することもできます。
py tick.py -c testcluster download
py tick.py -c testcluster setup
py tick.py -c testcluster load
負荷テストサンプルの実行¶
以下のコマンドを実行して、テストを開始します。
py loadtester.py -c testcluster start targetcluster
テストを開始すると、次の情報を取得できます。
py loadtester.py -c testcluster monitor targetcluster
これにより、対象 leaf サービスのヘルスチェックを出力します。テストを停止するには、次のコマンドを実行します。
py loadtester.py -c testcluster stop
メトリクスの確認¶
負荷テストにはメトリクスが必要なため、アプリケーションは statsd にデータを送信します。メトリクスは、 TICK Stack メトリクス サンプルを使用して確認できます。重要なメトリクスは以下の通りです。
- loadtest.session.total : 接続の総数。
- loadtest.session.error : 接続中のエラー数。
- loadtest.session.retry : 接続リトライ回数。
- nomad.ip-xxxx.client.host.cpu.xxxx.cpux.total : テストアプリを実行しているマシンの CPU 使用率。
接続エラーは、さまざまな理由で発生し得ます。1 つ目は、アプリケーションを実行しているマシンの CPU に過剰な負荷がかかっている場合です。この場合、どのような影響が出るかは断言できません。次に考えられる原因は、Genvid サービスに過剰な負荷がかかっている場合です。これは、システムがオーバーキャパシティであることを意味しています。
警告
テストの実行中、CPU 使用率が高くなると確実なテストが行われません。config/loadtester.hcl
ファイル内の接続数を変更してみてください。