如果我们使用最多 10K 个打开的连接运行 WebSocket 负载测试,我们总是会得到两倍的 ActiveConnectionCount,包含的图像是我们 wss://endpoint 的应用程序负载均衡器的 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 的屏幕截图: