Почему ActiveConnectionCount удваивается в показателях Amazon CloudWatch при использовании WebSockets?
Если мы запускаем нагрузочный тест WebSocket с максимальным количеством открытых соединений 10 КБ, мы всегда получаем удвоенное значение ActiveConnectionCount, включенное изображение является снимком экрана с метрики CloudWatch балансировщика нагрузки приложения нашей конечной точки wss://. Если мы запустим нагрузочный тест 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);
});
}
Снимок экрана ActiveConnectionCount в Amazon CloudWatch Metrics:
0 ответов
Согласно документации AWS, ActiveConnectionCount - это "общее количество одновременных активных TCP-подключений от клиентов к балансировщику нагрузки и от балансировщика нагрузки к целям".
Таким образом, если у вас есть 10 подключений через балансировщик нагрузки к цели, эта метрика должна отображать 20 подключений (10 от клиентов и 10 для целей).