Latest Notes

把日常问题写成可复用的答案。

这里收集技术实践、排错记录、阅读札记和一些生活观察。每一篇都尽量留下清晰的上下文、判断和解决路径。

Today 持续记录,慢慢变好

技术笔记、项目复盘、阅读摘录和问题清单。

系统运维 23 阅读

Kubernetes 滚动发布卡住:用 startupProbe 避免慢启动应用被 livenessProbe 反复误杀

## 适用场景 Java、Django、Node.js 等服务在 Kubernetes 中滚动发布后,新 Pod 长时间处于 `CrashLoopBackOff`,Deployment 一直无法完成;而在开发或低负载环境中启动正常。日志常只来得及打印数据库连接、缓存预热或迁移检查的前几行。 本文以“应用冷启动约 9

阅读全文
系统运维 43 阅读

Docker json-file 日志轮转未生效:从磁盘告警到恢复服务的排查实践

## 适用场景 Docker 默认使用 `json-file` 日志驱动。运行一段时间后,宿主机 `/var/lib/docker` 持续变大,最终出现磁盘告警,甚至应用写文件、创建临时目录或重启容器都失败。本文适用于单机 Docker、Docker Compose 以及未由集中日志系统完全接管容器标准输出的场景。

阅读全文
网络 69 阅读

Linux conntrack 表满导致偶发网络超时:从现场确认到容量治理的排查实践

## 适用场景 业务运行在 Linux 主机、Docker 或 Kubernetes 节点上,经过 NAT、iptables/nftables 防火墙或四层负载均衡转发。某个时段开始出现 API 偶发超时、DNS 请求失败、容器无法访问外部服务,但主机 CPU、内存和带宽看起来都正常;重启网络或重启节点后短暂恢复。

阅读全文
系统运维 107 阅读

Redis 延迟偶发飙升:从 Hot Key 与 Big Key 定位到分阶段治理实践

## 适用场景 业务使用 Redis 承载登录态、商品详情、计数器或排行榜。平时接口稳定,但在促销、定时任务或某些请求集中到来时,应用开始出现 Redis 超时;监控中 `instantaneous_ops_per_sec` 并不一定很高,CPU 也可能没有持续满载。 本文以单实例或主从架构为例,说明如何区分 **

阅读全文
Python 113 阅读

Python httpx 并发请求频繁 PoolTimeout:连接未释放与连接池参数的排查实践

## 适用场景 Python 服务或批处理脚本通过 `httpx` 调用第三方 HTTP API。流量上来后,应用日志开始出现 `httpx.PoolTimeout`,但目标接口的监控显示延迟正常;重启服务后短暂恢复,随后问题又出现。常见于 FastAPI/Django 的异步任务、数据同步程序和并发爬取工具。 本

阅读全文
系统运维 210 阅读

Docker 容器频繁 OOMKilled:从 cgroup 内存指标到限额配置的排查与治理实践

## 适用场景 服务容器偶发或持续重启,`docker ps -a` 显示退出码为 `137`,应用日志末尾没有 Java、Python 或 Go 自己抛出的异常。宿主机看起来还有可用内存,但容器仍被杀掉;或者一次流量高峰后多个容器同时不可用。 本文以 Docker / Docker Compose 部署的 API

阅读全文
系统运维 223 阅读

MySQL 死锁频发:从现场取证到有边界重试的排查与治理实践

## 适用场景 业务接口偶发返回 `Deadlock found when trying to get lock`(错误码 1213),订单、库存、账户余额或状态流转等事务写入失败;重试后通常成功,但高峰期错误数明显上升。本文以 InnoDB 为例,给出一套可在生产环境执行的取证、定位和治理流程。 死锁不是数据库“

阅读全文