【发布时间】:2017-08-27 19:49:26
【问题描述】:
我们正在尝试使用 ELB 在 AWS 上构建一个 WebSocket 服务器(具有500k 并发连接,但流量非常低)。
我们测试了具有公共 IP 的单个服务器,它可以处理超过 500k 的连接。
但是当我们把服务器放在ELB之后,每台服务器只能得到65536的连接。
我们可以在 ELB 监控上看到很多 Spillover Count。
ELB 的文档说他们将通过更改 DNS 中的 IP 列表来自动扩展 ELB。
但是当我dig我的域时,我总是得到相同的IP列表。
ELB 自动缩放似乎不起作用。
【问题讨论】:
-
如传言所说,ELB 会自动检测持续负载并在需要时自行扩展。因此,在不久的将来一段时间后,您将获得所需的吞吐量:)。但是,如果您打算实现巨大的流量爆发,您需要通过请求通过 AWS 支持团队要求 ELB 预热,正如它在 aws.amazon.com/articles/1636185810492479#pre-warming 中所说的那样,也许它会对您有所帮助
-
您在负载均衡器后面使用了多少个目标节点?
-
对于这种行为有一个可能的解释,它与“缩放”没有适当的关系——但首先,要澄清的是,这是 ELB/1.0(“经典”)还是 ELB/2.0( “应用”)?平衡器和实例上有多少可用区处于活动状态?
-
...基于对溢出计数的提及,我假设我们谈论的是 TCP 模式下的经典 ELB,因此还有其他问题值得问:您正在测试多少个实例,是它们分布在所有区域,您是否启用了跨区域平衡?
-
@RuslanNeruka 谢谢!我会联系 AWS 进行预热。
标签: websocket amazon-elb