You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Nginx的EKS负载均衡器偶发请求缓慢问题排查求助

EKS Classic LB 偶发请求慢排查方案

1. Classic LB 连接复用配置

Classic LB默认空闲连接超时60秒,如果Nginx Ingress和LB之间没做好长连接复用,会导致LB频繁创建新连接,引发偶发延迟。可以给Ingress Controller的ConfigMap添加以下配置开启长连接:

http-snippet: |
  upstream keepalive 32;
server-snippet: |
  proxy_http_version 1.1;
  proxy_set_header Connection "";

同时查看CloudWatch的RequestCount、BackendConnectionErrors指标,排查是否存在连接队列溢出的情况。

2. 私有子网NAT网关/路由瓶颈

EC2在私有子网依赖NAT网关与公有子网LB通信,如果NAT网关的带宽或连接数接近上限,会导致部分请求延迟。检查CloudWatch的NAT Gateway指标:ActiveConnectionCount、BytesOutToDestination是否触达阈值,是否存在ErrorPortAllocation错误。另外确认私有子网路由表是否正确指向NAT网关,LB安全组与EC2安全组是否配置了互通规则。

3. Nginx Ingress Pod资源与调度

检查Ingress Controller Pod是否运行在资源紧张的节点上——用kubectl top pods查看CPU/内存使用率,确保Pod配置了合理的资源请求和限制。同时调整Nginx核心参数(比如worker_connections、worker_processes),适配节点硬件能力,避免并发请求处理不过来。

4. Classic LB健康检查优化

健康检查配置不合理会导致LB将请求转发到刚恢复或状态不稳定的节点,引发偶发延迟。确保健康检查使用轻量路径(比如/healthz),调整检查间隔和超时时间,避免节点频繁被标记为不健康。查看CloudWatch的HealthyHostCount指标,确认是否存在节点健康状态频繁波动的情况。

5. 跨AZ请求延迟优化

如果LB和EC2节点不在同一个可用区(AZ),跨AZ的网络开销可能导致偶发慢请求。可以将LB的负载均衡策略改为RoundRobin,尽量让请求落在同AZ的节点上;或者确保每个AZ都部署了Ingress Pod和LB节点。

6. 公有子网ELB标签验证

虽然你提到已配置elb标签,仍需确认标签格式是否正确:kubernetes.io/cluster/<你的集群名>: shared或owned,确保EKS能正确识别并管理LB资源。另外检查公有子网的路由表是否指向Internet Gateway,保证LB能正常对外提供服务。


内容的提问来源于stack exchange,提问作者Pavan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 17:02:23