負荷テスターの使用

このセクションでは、 チュートリアル用サンプル での負荷テストの実行方法を紹介しています。サンプルの実行には、2 つのクラスタが必要です。1 つ目のクラスタが Genvid スタックを実行し、もう 1 つが負荷テストを実行します。

クラウドでのゲームの実行については、 クラウド環境 を参照してください。

このサンプルは、メトリクスを statsd に送信します。 TICK Stack メトリクス を使用して、メトリクスの収集、確認ができます。

はじめに

チュートリアル用サンプル は、このデモンストレーション用にすでにクラウド上で実行されているものとします。詳細については、 クラウドのチュートリアルサンプルを作成する を参照してください。

テスト用クラスタを作成する

まず、テストを実行するためのクラスタを作成します。

  1. Bastion UI で、load_test ソースを使用してクラスタを作成します。
  2. infrastructure のリンクをクリックします (今は、デフォルト設定を使用します)。
  3. Commands メニューをクリックします。
  4. 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 ファイル内の接続数を変更してみてください。