最大 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 のスクリーンショット: