2

最大 10K のオープン接続で WebSocket 負荷テストを実行すると、ActiveConnectionCount が常に 2 倍になります。含まれている画像は、wss://endpoint の Application Load Balancer の CloudWatch メトリクスのスクリーンショットです。HTTP 負荷テストを実行すると、ActiveConnectionCount は正しいです。どうしてこれなの?

疑似負荷テスト コード:

const WebSocket = require('ws');

for (let i = 0; i < 10000; i++) {
const client = new WebSocket('wss://endpoint');

client.on('open', () => {
  setInterval(() => {
    client.send('random message');
  }, 15000);
});

}

Amazon CloudWatch メトリクスの ActiveConnectionCount のスクリーンショット:

ActiveConnectionCount Amazon CloudWatch

4

1 に答える 1

0

AWS ドキュメントによると、ActiveConnectionCount は「クライアントからロード バランサーへ、およびロード バランサーからターゲットへのアクティブな同時 TCP 接続の総数」です。

したがって、ロード バランサーを介してターゲットに 10 の接続がある場合、このメトリックは 20 の接続 (クライアントから 10、ターゲットから 10) を示す必要があります。

于 2020-07-27T22:38:35.517 に答える