使用WebSocket时,为什么Amazon CloudWatch指标中的ActiveConnectionCount会增加一倍?

时间:2019-02-14 16:10:42

标签: amazon-web-services amazon-cloudwatch amazon-cloudwatch-metrics

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

ActiveConnectionCount Amazon CloudWatch

1 个答案:

答案 0 :(得分:0)

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

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