2014-03-26 71 views
0

我在与一个AWS负载均衡的问题 - 加载页面通过它似乎给高延迟(〜5秒)亚马逊负载平衡器过高的延迟

有活负载平衡器后的两个EC2实例,让我们称它们为p1p2

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

p1p2直接观察类别页面,初始加载时间是< 500ms的,但是当我访问负载平衡器(然后指向p1p2)浏览器花费约5秒来等待从响应服务器。

这是为了p1一个典型请求或p2直接:

enter image description here

这是从负载平衡器的典型请求:

enter image description here

我最初怀疑它可能是一个问题与Magento试图重新缓存来自负载均衡器的请求,但我然后设置p1p2让他们的缓存同步,所以缓存不太可能是原因。

p1p2上的堆栈是相当常见的Apache2 + PHP-FPM + PHP设置,它们自己闪电般快速。

回答

2

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

  1. request_processing_time:过去时(以秒计)的总时间从时刻负载平衡器接收该请求并发送该请求到注册的实例。
  2. backend_processing_time:从负载平衡器将请求发送到已注册的实例并且实例开始发送响应头开始,经过的总时间(以秒为单位)。
  3. response_processing_time:负载平衡器从注册的实例接收到响应头并开始向客户端发送响应的时间(以秒为单位)的总时间。该处理时间包括负载均衡器处的排队时间和负载均衡器到后端的连接获取时间。

...以及更多信息。您需要首先配置访问日志。请按照下面的文章来解决使用ELB访问日志,更多的了解:

  1. Access Logs for Elastic Load Balancers
  2. Access Logs

这些日志可能/可能不会解决你的问题,但肯定是一个好点开始。此外,您可以随时与AWS技术支持部门联系以获得更深入的分析。

相关问题