Amazon web services 负载平衡器监控喘振队列长度

Amazon web services 负载平衡器监控喘振队列长度,amazon-web-services,amazon-elb,amazon-elastic-beanstalk,Amazon Web Services,Amazon Elb,Amazon Elastic Beanstalk,谁能解释一下我的AWS负载平衡器发生了什么 我看到指标激增队列长度,两行以累积方式“一起”增长: 从文档中可以看出,这是负载平衡器上要由后端(EC2实例)处理的请求队列,我发现的所有故障排除建议都指向后端的性能问题,但在我的情况下,该实例是健康的(CPU、内存、磁盘I/o等,一切正常) 此负载平衡器属于只有一个实例的弹性Beanstalk工作环境。每次我部署新版本时,似乎都会清除激增队列长度 有人能解释为什么即使我的后端实例很好,这个累积队列也在增长吗?为什么在我部署时会清除这些内容?即使后端

谁能解释一下我的AWS负载平衡器发生了什么

我看到指标激增队列长度,两行以累积方式“一起”增长:

从文档中可以看出,这是负载平衡器上要由后端(EC2实例)处理的请求队列,我发现的所有故障排除建议都指向后端的性能问题,但在我的情况下,该实例是健康的(CPU、内存、磁盘I/o等,一切正常)

此负载平衡器属于只有一个实例的弹性Beanstalk工作环境。每次我部署新版本时,似乎都会清除激增队列长度


有人能解释为什么即使我的后端实例很好,这个累积队列也在增长吗?为什么在我部署时会清除这些内容?

即使后端的EC2实例看起来很健康(CPU、内存、磁盘等),它也可能在处理ELB发送的请求时落后。如果EC2在具有Docker的Elastic Beanstalk环境下运行(就像在我的例子中),则可能发生这种情况,其中EC2实例只能运行一个Docker容器。在这种情况下,运行应用程序的Docker容器无法处理所有传入的请求,但由于它位于一个隔离的环境(容器)中,因此无法使用EC2实例中的所有可用资源

在我的例子中,即使我的EC2实例报告它们正在使用5%的CPU,我也必须在自动缩放组(位于ELB后面)中放大我的EC2实例。升级后(CPU利用率下降到1%),我的性能问题消失了


希望这有帮助

好的,我不是在运行docker,但可能是Puma限制了资源的使用。这两条“点线”一起生长的原因是什么?@JonathasHortense AWS ELB是一个黑盒子,我不为亚马逊/AWS工作。我推测这两行点对应于两台ELB服务器。由于请求处理落后,两个ELB服务器可能具有不同级别的喘振队列长度。为什么我认为ELB有两台服务器?1.如果您在ELB DNS上执行nslookup,则会返回两条A记录(两个IP)2。一台服务器不提供冗余3。三台或更多的服务器需要在ELB服务器之间进行更复杂的负载平衡(谁来平衡负载平衡器?),这是有道理的。谢谢你的帮助。