惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
爱范儿
爱范儿
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
博客园 - 聂微东
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
罗磊的独立博客
Jina AI
Jina AI

博客园 - 寒魔影

Linux waitpid函数分析 不同进程内相同的变量内存地址是相同的 Linux 内存虚拟地址介绍 Sword B树学习笔记二 Sword B树学习笔记一 defined but not used警告屏蔽 服务卡死现象分析实录 服务资源加载延迟异常增加 Linux 常用命令四 TCP全连接队列 调用writev收到信号SIGPIPE问题分析记录 epoll_wait监听事件延迟问题记录 writev发送数据失败 C++ new关键字运算符重载 Missing separate debuginfos类型崩溃分析 宏定义导致数据异常问题 服务压测偶现卡住问题分析 C语言 数据类型 Linux 终端光标控制函数
apisix流量高峰期服务卡住问题
寒魔影 · 2025-10-28 · via 博客园 - 寒魔影

现象描述

在流量高峰期,apisix偶现服务卡住,部分请求无法经过apisix转发。

分析步骤

1.起初线上服务出现异常,开发优先关注解决线上问题,发现降低业务流量之后,apisix恢复了;
2.分析apisix监控,发现cpu, mem, load没有异常;
3.查询apisix日志,发现日子中存在大量的"upstream time out"错误,检查上游服务,上游服务正常;
4.继续分析apisix日志,发现apisix存在频繁写临时文件操作,怀疑是写文件导致nginx worker卡住了,调整client_body_buffer_size大小让更多的报文直接在内存中交互,避免文件落盘;
5.两天后问题依旧存在,本次对apisix进行抓包,找到部分异常请求如下;
10.140.24.0(客户端) 10.140.102.250(apisix)

lQLPJxz33i4SFM_NAmnNB36wgyV6_kbQLdgI2nAHf1JeAA_1918_617

lQLPJyHgyhswk8_NAoXNB3-w2UG-yCAU01kI2nAHf1JeAg_1919_645

lQLPKGN3VymS5M_NAnfNB3-wyzebadVEl34I2nAHf1JeAQ_1919_631

通过分析报文,apisix发送数据值正常的,没有延迟,但是apisix无法收到客户端的ACK报文,ACK报文丢失,分析是网络原因
6.经过分析,发现是k8s的flannel组件存在性能瓶颈,flannel会将TCP报文拆成UDP报文发送,当UDP报文数量达到80kp/s此时丢包率会上升,网络延迟飙升。

小结

分析网络问题,黄金手段还是抓包分析,出现问题一定要先进行抓包。