2

如果我们使用最多 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 的屏幕截图:

ActiveConnectionCount Amazon CloudWatch

4

1 回答 1

0

根据 AWS 文档,ActiveConnectionCount 是“从客户端到负载均衡器以及从负载均衡器到目标的活动并发 TCP 连接总数。”

因此,如果您通过负载均衡器有 10 个连接到目标,则此指标应显示 20 个连接(10 个来自客户端,10 个到目标)。

于 2020-07-27T22:38:35.517 回答