Amazon ELB不会清理KeepAlive连接

AWS 文档提到了以下内容:

为确保负载均衡器负责closures与您实例的连接,请确保您为HTTP保持活动时间设置的值大于负载均衡器上的空闲超时设置。

我面临的一个问题是,我的ELB正在发射约40个请求(js,css,img),每个请求都启用了KeepAlive,它会占用我所有的工作线程并阻止它们的KeepAliveTimeout(我设置为高于ELB超时build议)。

然而,当页面加载完毕后,ELB并没有closures连接 – 他们只是坐在那里阻止工作人员,直到他们超时。

所以在这里我面临着两个问题:

  1. 为什么ELB激发40个不同的连接,而不仅仅是重复使用同一个连接?
  2. 为什么ELB在完成连接后不清理连接?

您是否在EC2级别或ELB级别启用粘性会话? 是否启用粘性? 什么是注销时间? 是否启用连接耗尽?

  1. 如果“粘滞会话”未启用,ELB将启动新会话。
  2. 如果您在ELB上启用粘滞会话,则您正在等待ELB级别的连接。 build议在EC2实例失败的情况下启用EC2级别的粘滞会话,自动缩放将被迫启动新的实例。 这消除了“如果一个会话还活着,但是我的EC2实例死了怎么办?

“如果Amazon ELB保持空闲状态,那么当前超时持久套接字连接的时间为60秒,对于在后端EC2生成大文件(PDF,报告)的用例,将它们作为响应发送并在连接期间保持连接闲置整个生成过程“。