Amazon Load Balancer过高的延迟

时间:2014-03-26 03:24:09

标签: magento amazon-web-services amazon-ec2 load-balancing

我遇到了AWS负载均衡器的问题 - 通过它加载页面似乎会产生高延迟(~5s)

负载均衡器后面有两个EC2实例,我们称之为p1p2

我在这些实例上运行Magento,他们都连接到同一个数据库。

直接在p1p2上查看类别页面时,初始加载时间为< 500毫秒,但是当我访问负载均衡器(然后指向p1p2)时,浏览器会花费大约5秒等待服务器的响应。

这是p1p2的典型请求:

enter image description here

这是来自负载均衡器的典型请求:

enter image description here

我最初怀疑Magento尝试重新缓存来自负载均衡器的请求可能是一个问题,但我设置p1p2以使其缓存同步,因此缓存不太可能原因。

p1p2上的堆栈是相当常规的Apache2 + PHP-FPM + PHP设置,它们本身就是快速的。

1 个答案:

答案 0 :(得分:2)

AWS最近发布了ELB的新功能,仅用于此类故障排除方案。现在您可以获得ELB访问日志。这些Acces日志可以帮助yopu以不同的间隔确定请求所花费的时间。 e.g:

  1. request_processing_time:从负载均衡器收到请求并将请求发送到已注册的实例之后经过的总时间(以秒为单位)。
  2. backend_processing_time:从负载均衡器将请求发送到已注册实例并且实例开始发送响应标头之后经过的总时间(以秒为单位)。
  3. response_processing_time :从负载均衡器收到来自已注册实例的响应头并开始向客户端发送响应之后经过的总时间(以秒为单位)。此处理时间包括负载均衡器的排队时间和从负载均衡器到后端的连接获取时间。
  4. ......以及更多信息。您需要先配置访问日志。请按照以下文章了解有关使用ELB访问日志的更多信息:

    1. Access Logs for Elastic Load Balancers
    2. Access Logs
    3. 这些日志可能/可能无法解决您的问题,但肯定是一个很好的开始。此外,您可以随时咨询AWS技术支持部门,以获得更深入的分析。