AWS ECS环境下负载均衡器API请求首次访问76秒延迟求助
AWS ALB API请求首次访问持续76秒延迟排查求助
基础设施详情
- ECS服务:API请求指向该服务,包含运行HTTP服务器的容器任务
- ECS容器:运行处理API请求的容器化应用
- 负载均衡器:配置为将流量分发至多个ECS容器实例
- 监听器:配置了合适的监听器,用于接收并转发请求至目标组
- 目标组:负载均衡器将请求路由至关联ECS容器实例的目标组
- TLS配置:负载均衡器通过Certificate Manager启用SSL/TLS连接,与ECS容器通过HTTP通信
- DNS:负载均衡器通过Route53上正确配置的DNS域名访问
- 安全组与目标组规则:已设置允许所有入站/出站流量
问题描述
向负载均衡器发起API请求时,首次请求始终存在约76秒延迟才收到响应;短时间内的后续请求无明显延迟,但闲置5-10分钟后,首次请求再次出现相同延迟。此外,通过curl调用API端点时始终存在76秒延迟。
环境详情
- 负载均衡器:AWS Application Load Balancer (ALB)
- 目标组:配置了合适的健康检查和路由规则
- 后端服务:运行websockets服务器的ECS容器
- AWS区域:us-east-1
- 安全组:允许HTTP/HTTPS及所有协议的入站流量
- DNS:配置了指向负载均衡器的正确DNS记录
已执行的排查步骤
- 验证DNS解析:成功将域名解析至正确的负载均衡器IP
- 检查负载均衡器配置:确认监听器、目标组和路由规则配置正确
- 检查后端服务健康:确认运行websockets服务器的ECS容器健康且正常响应请求
- 分析负载均衡器日志:查看ALB访问日志,发现首次请求均有76秒延迟,后续请求无延迟
- 资源扩容:将ECS容器的CPU和内存调整为2 CPU、4 GB RAM,排除资源限制问题,但故障仍存在
- 连通性验证:通过
traceroute和tcptraceroute确认无网络连通性问题或丢包
补充信息
- 该问题仅针对负载均衡器的API请求,同一域名下其他子域名的S3、CloudFront等服务无延迟问题
- 问题持续存在,排除偶发网络问题
- AWS管理控制台中无负载均衡器或ECS服务相关的错误/告警
内容的提问来源于stack exchange,提问作者Vlad Morzhanov
相关产品推荐
相关产品推荐

