Amazon web services 诊断AWS应用程序负载平衡器的慢响应时间

Amazon web services 诊断AWS应用程序负载平衡器的慢响应时间,amazon-web-services,aws-application-load-balancer,Amazon Web Services,Aws Application Load Balancer,我正在为一个使用CloudFront、ALB和Fargate的应用程序开发POC。在开发应用程序的过程中,我注意到ALB有时响应速度很慢。我在AWS论坛上遇到了以下帖子。这是8年前的事了,但我想这可以解释我看到的一些行为: 延迟的原因是,您在其他2个az中配置了多az的ELB设置,而没有任何应用程序实例。如果这些AZ请求中没有实例,那么请求将趋于失败,因为即使没有活动的应用程序实例,ELb仍然会返回这些AZ的IP地址。请暂时禁用其他AZ并继续测试 我有一个类似的设置。在我的后端API Farg

我正在为一个使用CloudFront、ALB和Fargate的应用程序开发POC。在开发应用程序的过程中,我注意到ALB有时响应速度很慢。我在AWS论坛上遇到了以下帖子。这是8年前的事了,但我想这可以解释我看到的一些行为:

延迟的原因是,您在其他2个az中配置了多az的ELB设置,而没有任何应用程序实例。如果这些AZ请求中没有实例,那么请求将趋于失败,因为即使没有活动的应用程序实例,ELb仍然会返回这些AZ的IP地址。请暂时禁用其他AZ并继续测试

我有一个类似的设置。在我的后端API Fargate服务中只有2个AZ和一个Fargate任务,负载平衡器将流量发送到该任务

下面是我针对ALB DNSName运行的
dig
(ALB DNSName和IP地址已更改):

dig my-alb-123.us-east-1.elb.amazonaws.com
;  挖掘9.11.3-1ubuntu1.12-Ubuntu my-alb-123.us-east-1.elb.amazonaws.com
;; 全局选项:+cmd
;; 得到答案:
;; ->>标题
查询时间:3113毫秒

这太过分了。我检查了我的2-AZ ALB,我得到的时间约为60毫秒,也在
us-east-1

dig xxxxx.us-east-1.elb.amazonaws.com

; <<>> DiG 9.16.2 <<>> xxxxx.us-east-1.elb.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56978
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;xxxx.elb.amazonaws.com.    IN A

;; ANSWER SECTION:
xxxxx.us-east-1.elb.amazonaws.com.  60 IN A 52.0.195.xx
xxxxx.us-east-1.elb.amazonaws.com.  60 IN A 50.19.163.xx

;; Query time: 53 msec
;; SERVER: 10.1.1.1#53(10.1.1.1)
;; WHEN: Wed May 27 16:08:53 AWST 2020
;; MSG SIZE  rcvd: 123
dig xxxxx.us-east-1.elb.amazonaws.com
;  挖掘9.16.2 xxxxx.us-east-1.elb.amazonaws.com
;; 全局选项:+cmd
;; 得到答案:

;; ->>HEADERHi,你启用跨区域负载平衡了吗?如果跨区域负载平衡关闭,这将解释为什么一些连接失败。如果启用,则所有请求都会收到响应,但有些请求可能会稍微慢一点(但这不会导致3秒的延迟)。我更怀疑解析DNS名称需要3秒钟(如上面的
dig
清单所示)。
0msec
响应可能是在缓存响应时发生的。因此,请尝试查找DNS解析链中所有时间都在消耗的位置。例如,将您的DNS指向
8.8.8.8
,查看其解析速度是否一致更快。@mokugo devops我查看了有关跨区域负载平衡的文档,发现“使用应用程序负载平衡器,跨区域负载平衡始终处于启用状态。”
dig xxxxx.us-east-1.elb.amazonaws.com

; <<>> DiG 9.16.2 <<>> xxxxx.us-east-1.elb.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56978
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;xxxx.elb.amazonaws.com.    IN A

;; ANSWER SECTION:
xxxxx.us-east-1.elb.amazonaws.com.  60 IN A 52.0.195.xx
xxxxx.us-east-1.elb.amazonaws.com.  60 IN A 50.19.163.xx

;; Query time: 53 msec
;; SERVER: 10.1.1.1#53(10.1.1.1)
;; WHEN: Wed May 27 16:08:53 AWST 2020
;; MSG SIZE  rcvd: 123