我正在尝试使用最小配置(HTTP 80 -> 3000)的 ELB,并且只有一个 EC2 实例。
(我知道通常至少要放置两个 EC2 实例,但我只是在评估 ELB。)
我注意到,在这种设置下(我假设我已经正确配置 - 也许我错过了什么),响应时间将与我指定的空闲连接超时设置一样慢。
例如,如果设置为 30 秒,并且我访问elb-XXXXXXXXX.eu-west-1.elb.amazonaws.com
,则我的浏览器将必须等待 30 秒才能加载页面。
2、5、60 秒同样如此。
设置为 1 秒,我不需要等待整整 1 秒 - 我可以不断地重新请求页面(即保持按住刷新键盘快捷键)并且不会出现任何问题。
因此将设置保留为 1 秒可能很诱人 - 但这样做是否可取?
我是否可以仅在 ELB 后面的一个 EC2 实例上使用推荐设置(60 秒)而不会遇到速度缓慢的情况?
答案1
显然,应用服务器(我这里是 Unicorn)通常不能直接与 ELB 对话 - 它必须在高度专业化的 HTTP 服务器(如 Nginx)后面进行对话。对于提供静态文件尤其如此 - 人们不希望这些文件由 Ruby 提供!
Unicorn 特别假设“快速客户端”,这是只有 nginx 可以实现的保证 - 而不是 ELB。
这样做解决了我的问题。