有人能解释一下我的AWS Load Balancer发生了什么吗?
从文档中可以看出,这是负载均衡器上的请求队列要由后端(EC2实例)处理,我发现的所有故障排除建议都指向后端的性能问题,但是在我的情况下,实例是健康的(CPU,内存,磁盘I / O等等。一切都很好)。
此Load Balancer属于仅具有一个实例的Elastic Beanstalk工作线程环境。每次部署新版本时,似乎都会清除浪涌队列长度。
任何人都可以解释为什么即使我的后端实例正常,这个累积队列也在增长?为什么我在部署时会被清除?
答案 0 :(得分:1)
即使后端的EC2实例看起来很健康(CPU,内存,磁盘等......),它也可能落后于处理ELB发送的请求。如果(在我的情况下)EC2在具有Docker的Elastic Beanstalk环境下运行,EC2实例只能运行一个Docker容器,就会发生这种情况。在这种情况下,运行应用程序的Docker容器无法处理所有传入请求,但由于它位于隔离环境(容器)内,因此无法使用EC2实例中的所有可用资源。
在我的情况下,即使我的EC2实例报告他们使用的是5%CPU,我也必须在Autoscaling Group(坐在ELB后面)内扩展我的EC2实例。扩展后(CPU利用率下降到1%),我的性能问题消失了。
希望这有帮助