AWS Application Load Balancing:看到极长的初始连接时间

时间:2018-01-16 18:06:42

标签: amazon-web-services websocket socket.io amazon-elb amazon-alb

从观察者的角度来看,症状与问题here相同 场景也是如此:Angular应用程序向REST api发送预检请求,预检请求大约需要50%的时间,最长可达1.3秒(插图与链接问题相同)。

此外,websocket经常超时,直到socket-io最终成功建立连接。问题在Chrome中更为明显,在Safari / Firefox中则更少。

但是,我们使用的是ALB,而不是ELB,我们所有的子网都是公开的。

2 个答案:

答案 0 :(得分:1)

我们发现工作的解决方案是所有子网都需要通过相同的互联网网关 - 相同的路由表应用于所有子网。

完成后,所有请求都开始更快,websocket立即连接而不重新连接。

答案 1 :(得分:1)

有类似的问题。 LB必须设置为至少使用2个可用区。您必须选择每个可用区中的哪个子网。以我为例,其中一个网络的ACL设置错误,基本上拒绝了所有流量。这意味着,每当DNS决定为您提供无法正常工作的LB接口的IP地址时,该服务似乎就会停顿一分钟左右。 DNS缓存过期后,它将重新开始工作,并且您获得了正常运行的接口的IP。