如果我们使用最多10K的开放连接运行WebSocket负载测试,我们总是会得到两倍的ActiveConnectionCount,其中包含的图片是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的屏幕截图:
答案 0 :(得分:0)
根据AWS文档,ActiveConnectionCount是“从客户端到负载均衡器 从负载均衡器到目标的活动的并发TCP连接总数。” < / p>
因此,如果您有10个通过负载平衡器的连接到目标,则该指标应显示20个连接(客户端10个,目标10个)。