パフォーマンス テスト サービス (PTS) のマイクロサービス パフォーマンス テスト機能を使用すると、仮想プライベートクラウド (VPC) にデプロイされたマイクロサービスのパフォーマンス テストを実行できます。 PTS コンソールで簡単な構成を実行することにより、マイクロサービスのパフォーマンス テストを迅速に実行できます。 このトピックでは、Dubbo マイクロサービスのパフォーマンス テストを実行する方法について説明します。
前提条件
Dubbo マイクロサービスは、汎用的な方法で呼び出すことができます。
背景情報
従来のマイクロサービスアーキテクチャでは、各マイクロサービスには API ゲートウェイを使用してアクセスし、独自のネットワーク内で安全に分離されています。 ほとんどの場合、クラウドベースのマイクロサービスは、セキュリティを強化し、制御されたアクセスを確保するために、仮想プライベートクラウド (VPC) にデプロイされます。 しかし、分離された環境でのマイクロサービスのパフォーマンスをテストすることは、ネットワークの分離のために困難になる可能性があります。 従来のソリューションは、VPC 内に JMeter などのパフォーマンス テストツールを作成することです。 ただし、JMeter のセットアップには時間がかかり、かなりの技術的専門知識が必要であり、JMeter はマイクロサービスのテストにはユーザーフレンドリーではありません。
前述の問題に対処するために、PTS はマイクロサービス パフォーマンス テスト機能を提供します。 PTS コンソールで簡単な構成を使用することにより、マイクロサービスのパフォーマンス テストを迅速かつ効果的に実行できます。
構成の開始
PTS console にログインし、 を選択し、 をクリックします。 Dubbo
[マイクロサービスシナリオ] ページで、シナリオ名を指定し、テスト対象アプリケーションのソース、リージョン、およびマイクロサービスの名前空間を選択します。
[シナリオ設定] タブで、[+ Dubbo3 ノードを追加] をクリックして、ビジネスメッセージにテストノードを追加します。
シナリオの構成
ビジネスメッセージの右側にある アイコンをクリックして、ビジネスメッセージを展開し、基本設定、出力パラメータ設定、およびチェックポイント設定を構成します。
パラメータ | 説明 | 例 |
アプリケーション名 | アプリケーションの名前。 | testapp |
API | マイクロサービスへのアクセスに使用される API。 | com.alibaba.pts.dubbo.api.DemoService |
レジストリタイプ | 有効な値: ZooKeeper、Nacos、Redis、および直接接続 | Nacos |
レジストリアドレス | マイクロサービスレジストリのアドレス。 重要 マイクロサービスエンジン (MSE) ユーザーの場合、レジストリアドレスは名前空間が構成されているかどうかによって異なります。
| 192.168.0.0:8080 |
グループ | Dubbo マイクロサービスのグループ。 | testgroup |
バージョン | Dubbo マイクロサービスのバージョン。 デフォルト: 1.0。 | 1.0 |
メソッド名 | Dubbo マイクロサービスへのアクセスに使用されるメソッドの名前。 | sayHello |
接続タイムアウト | Dubbo マイクロサービスとの接続を確立するためのタイムアウト期間。 | 5000 |
応答タイムアウト | Dubbo マイクロサービスから応答を受信するためのタイムアウト期間。 | 20000 |
Dubbo マイクロサービスの関数パラメータ
パラメータ | 説明 | 例 |
共通パラメータ | パフォーマンス テストに関係する Dubbo マイクロサービス関数における共通パラメータ。 |
|
暗黙的パラメータ | パフォーマンス テストに関係する Dubbo マイクロサービス関数における暗黙的パラメータ。 |
|
出力パラメータの構成
メッセージの [出力パラメータ定義] タブで、メッセージの出力パラメータを構成します。 詳細については、「出力パラメータ」をご参照ください。
チェックポイントを構成する
メッセージの [チェックポイント (アサーション)] タブで、メッセージのチェックポイントを構成します。 詳細については、「チェックポイント (アサーション)」をご参照ください。
(オプション) コントローラーとタイマー
さまざまなストレステストシナリオの要件に基づいて、コントローラーとタイマーを追加できます。
[シナリオ設定] タブで、[コントローラーの追加] をクリックして、必要なコントローラーを選択します。
ループコントローラー: テストノードがループで実行される回数を制御します。
ループコントローラーを選択し、コントローラーの横にある
アイコンをクリックします。 次に、ループで実行するノードを選択し、ループ回数を指定します。 ストレステスト中に、ループコントローラーで指定されたテストノードは、指定された回数だけ順番に実行されます。
トランザクションコントローラー: トランザクションコントローラー内のすべてのテストノードは、1 つのトランザクションとしてカウントされます。 [親サンプルの生成] スイッチと [サンプルにタイマーと前処理/後処理の期間を含める] スイッチが表示されます。
親サンプルの生成:
このスイッチがオンになっている場合、トランザクションコントローラー内の各ノードのストレステスト結果は、ストレステストレポートに個別に記録されるのではなく、トランザクションコントローラーの結果として集計されます。
このスイッチがオフになっている場合、トランザクションコントローラーとコントローラー内のテストノードのストレステスト結果がレポートに表示されます。
サンプルにタイマーと前処理/後処理の期間を含める: このスイッチがオンになっている場合、ストレステストレポートにおけるトランザクションコントローラーの平均応答時間は、すべてのテストノード、タイマー、および前処理/後処理の平均応答時間の合計になります。 このスイッチがオフになっている場合、トランザクションコントローラーの平均応答時間は、すべてのテストノードの平均応答時間の合計のみになります。
1 回のみコントローラー: コントローラーに追加されたノードは 1 回だけ実行されます。
[シナリオ設定] タブで、[タイマーの追加] をクリックして、必要なタイマーを選択します。
定数タイマー: ストレステスト中に一時停止する時間を示す一時停止期間を指定します。 単位: ミリ秒。
同期タイマー: [タイムアウト] と [シミュレートされたユーザー数] の値を指定します。これは、指定された時間範囲内に特定のユーザー数に達した後にストレステストがトリガーされることを示します。 ただし、指定された時間範囲内に特定のユーザー数に達しない場合、継続的な待機なしでテストがトリガーされます。
統一ランダムタイマー: 一時停止期間を指定します。 [一定遅延オフセット] と [ランダム遅延] を構成できます。 一定遅延オフセットは固定一時停止時間を示し、ランダム遅延は最大ランダム一時停止時間を示します。 統一ランダムタイマーの一時停止期間は、一定遅延オフセットで指定された固定一時停止時間と、ランダム遅延で指定された時間範囲内のランダム値の合計です。 各ランダム値は、等しい発生確率を持ちます。
ガウス タイマー: 一時停止期間を指定します。 ガウス タイマーは、統一ランダムタイマーに似ています。 [一定遅延オフセット] と [ランダム遅延] を構成できます。 ランダム一時停止時間が正規分布に準拠する必要がある場合は、ガウス タイマーを使用できます。
固定スループットタイマー: テストノードがスループットに基づいて実行されるようにスループットを指定します。 条件を構成し、対応するスループットを指定できます。 構成できる条件には、[現在のスレッドのみ]、[すべてのアクティブスレッド]、[現在のリンクのアクティブスレッド]、[グローバルアクティブスレッド]、[現在のリンクのグローバルアクティブスレッド] があります。
PTSシナリオを作成する
パラメータ | 説明 |
負荷の発生元 |
|
負荷モード |
|
自動増加モード |
|
最大 VU 数 | 仮想ユーザーモードでのシナリオ全体の最大 VU 数。 |
増加率 | 段階的増加モードでは、増加率を指定する必要があります。 |
単一負荷レベル期間 | 段階的増加モードでは、単一負荷レベル期間内にビジネス上の問題を発見できるように、単一負荷レベル期間を 1 分以上に設定する必要があります。 |
テストの合計期間 | ストレステスト期間が増加する場合、期間は次の式を使用して計算された値以上になります: 単一負荷レベル期間/増加量 × 1.1 (切り上げ)。 ただし、期間は 24 時間を超えることはできません。 |
指定された IP アドレスの数 | 負荷をかける IP アドレスの数。 詳細については、「負荷をかける IP アドレスの数を指定する」をご参照ください。 |
リージョン固有のトラフィック | ストレステスターが配置されているリージョンを設定するかどうかを指定します。 このスイッチをオンにすると、ローカルユーザートラフィックをシミュレートできます。 このスイッチをオンにした後、ストレステスターのリージョン分布を構成できます。 これにより、負荷トラフィックのリージョン分布のカスタマイズが実装されます。 詳細については、「カスタムトラフィック」をご参照ください。 |
ストレステストタスクの開始
[保存して開始] をクリックします。 [注記] ページで、[今すぐ実行] と [テストは許可されており、適用される法律および規制に準拠しています。] を選択し、[開始] をクリックします。
シナリオをデバッグするには、[デバッグ] をクリックします。 詳細については、「シナリオのデバッグ」をご参照ください。
ストレステスト結果の分析
ストレステストが完了すると、システムはストレステストシナリオメトリック、ビジネス詳細、監視詳細、API サンプリングログなどのストレステストデータを自動的に取得し、ストレステストレポートを生成します。 詳細については、「PTS ストレステストレポートの表示」をご参照ください。