AKS集群Web请求延迟高(Waiting TTFB数值过大)问题求助
AKS场景下TTFB过高排查方案
链路分段定位故障域
首先拆分完整请求链路:公网→Application Gateway(AGW)→Ingress Controller→Tomcat Service→业务Pod,逐段测试延迟缩小范围:
- 集群内直接执行
curl -w "%{time_starttransfer}\n" -o /dev/null -s <Tomcat ClusterIP>,如果本地访问TTFB已过高,故障范围锁定在应用本身或K8s内部网络 - 集群内访问Ingress Controller服务IP测TTFB,如果比直接访问Tomcat高100ms以上,故障范围锁定在Ingress层
- 直接访问AGW公网IP测TTFB,如果比集群内访问Ingress高很多,故障范围锁定在AGW到AKS的转发链路
Ingress Controller层排查
- 查看Ingress Controller的资源占用:执行
kubectl top pods -n <ingress-controller命名空间>,确认CPU、内存使用率未超过资源限制,1.19版本K8s适配的NGINX Ingress版本如果资源不足会产生请求排队延迟 - 确认Ingress配置无多余性能开销:关闭非必要的请求缓冲、全量访问日志、自定义Lua插件等功能,添加Ingress注解复用后端连接:
nginx.ingress.kubernetes.io/backend-protocol: "HTTP" nginx.ingress.kubernetes.io/connection-proxy-header: "keep-alive" - 确认Ingress Controller版本和K8s 1.19.11兼容性,过高的Ingress版本在旧版K8s集群上运行可能存在未修复的性能缺陷
Application Gateway层排查
- 检查AGW规格:如果使用V1 SKU或实例数不足,高并发场景下会出现转发性能瓶颈,可临时扩容实例数或升级到V2 SKU验证
- 检查AGW健康探测配置:探测间隔、不健康阈值设置不合理会导致请求被转发到异常后端,产生累积延迟
- 临时关闭AGW侧非必要的WAF规则、速率限制、请求改写规则,确认是否是规则校验产生的额外延迟
集群与应用层排查
- 检查Tomcat Pod资源占用与JVM运行状态:CPU/内存是否打满,是否存在频繁Full GC导致的业务停顿,该类问题会直接体现在TTFB指标上
- 对比同节点和跨节点访问Tomcat的TTFB:如果使用kubenet网络插件,跨节点SNAT转发会产生额外开销,可切换为Azure CNI模式优化
- 检查AKS节点公网出口带宽占用,节点层面网络拥塞会影响全链路转发性能
你之前调整的
externalTrafficPolicy=Local仅适用于Ingress Controller直接暴露公网IP的场景,当前架构由AGW前置对接Ingress,该配置不会生效,属于无效调整。
内容的提问来源于stack exchange,提问作者Mostaqur
相关产品推荐
相关产品推荐

