Linux 网卡 RX 队列和软中断堆积导致丢包的排查与治理实践
## 适用场景 线上服务出现间歇性超时、请求延迟抖动、连接偶发重置,但应用日志没有明显报错,CPU 总使用率也不高。进一步观察会发现某几颗 CPU 的 `si` 软中断占用很高,网卡统计里存在 `rx_dropped`、`rx_missed_errors` 或 ring buffer 溢出。这类问题常见于高并发网关、
Tag
包含这个标签的文章。
## 适用场景 线上服务出现间歇性超时、请求延迟抖动、连接偶发重置,但应用日志没有明显报错,CPU 总使用率也不高。进一步观察会发现某几颗 CPU 的 `si` 软中断占用很高,网卡统计里存在 `rx_dropped`、`rx_missed_errors` 或 ring buffer 溢出。这类问题常见于高并发网关、
## 适用场景 这篇文章适用于线上服务出现“偶发连接超时、重试后成功、服务 CPU 不高但新连接建立慢”的问题,尤其是 Nginx、网关、Java/Python Web 服务、RPC 服务或四层代理在流量突增时出现以下现象: - 客户端报 `connection timed out`、`connect timeou
## 适用场景 本文适用于线上 MySQL 出现以下情况: - 接口偶发变慢,慢查询集中在 `ORDER BY`、`GROUP BY`、`DISTINCT`、复杂分页或报表 SQL 上。 - 数据库实例的磁盘使用率短时间上涨,过一段时间又自动回落。 - `tmpdir` 所在分区 IO 使用率升高,甚至出现 `No
## 适用场景 这篇文章适用于 Pod 一直停留在 `Pending`、`ErrImagePull` 或 `ImagePullBackOff`,业务发布后没有新实例可用的场景。常见环境包括自建 Kubernetes、云厂商托管集群、私有镜像仓库 Harbor、阿里云/腾讯云镜像仓库,以及通过 CI/CD 自动更新镜像
## 适用场景 本文适用于线上 Redis 开启 AOF 持久化后,业务在某些时间段出现接口变慢、写入超时、Redis `used_cpu_sys` 升高、磁盘 `await` 或 `util` 接近打满的场景。常见部署形态包括单机 Redis、主从 Redis、哨兵架构,以及运行在云主机本地盘或云盘上的 Redis
## 适用场景 本文适用于 Kubernetes 中业务 Pod 间歇性进入 `CrashLoopBackOff`、`RestartCount` 持续增长、服务短时间不可用,但应用日志里又看不到明确业务异常的场景。常见于 Spring Boot、Django、Go HTTP 服务、Node.js 服务等 Web 应用
## 适用场景 本文适用于 Prometheus 已经配置了 `scrape_configs`,但在 Targets 页面看到目标实例显示 `DOWN`,或者 PromQL 查询 `up{job="xxx"} == 0` 的场景。常见对象包括 node_exporter、应用自暴露的 `/metrics`、Kuber
## 适用场景 这篇文章适用于线上服务突然退出、容器被重启、systemd 日志里只有 `Killed`、监控显示内存瞬时打满,但应用日志没有明确异常栈的场景。常见环境包括物理机、云主机、Docker 容器和 Kubernetes 节点。 OOM Killer 的本质是内核在内存不可回收时主动选择进程终止,以保证系
## 适用场景 这篇文章适用于 MySQL 5.7、MySQL 8.0 或兼容 MySQL 协议的数据库中,执行 `ALTER TABLE`、`CREATE INDEX`、`DROP INDEX`、`TRUNCATE TABLE` 等 DDL 时长时间不返回,同时业务侧出现接口变慢、连接数升高、写入卡住等问题的场景。
## 适用场景 这类问题常见于单机 Docker、docker-compose 或没有接入集中日志系统的测试/生产节点。应用本身还在运行,但主机磁盘空间持续下降,最终出现接口异常、容器重启失败、镜像拉取失败、数据库写入失败等问题。 典型环境特征: - Docker 使用默认 `json-file` 日志驱动。 -