czjyc编程随笔返回随笔

一次接口超时排查的记录

2026-06-25 / 后端 / 排查

线上接口偶发超时,最开始看起来像是网络抖动,但连续几次出现后,还是需要把链路拆开逐项确认。我的习惯是先不急着改代码,而是先确认问题发生的时间、请求参数、上游依赖和服务实例。

排查顺序

第一步看访问日志,确认慢请求是否集中在某几个接口或某类参数。第二步看数据库慢查询和连接池使用情况,确认是否存在等待连接或锁等待。第三步看上游依赖响应时间,避免把外部服务慢误判成本服务慢。

grep "timeout" app.log
grep "request_id=xxx" access.log
mysqladmin processlist

复盘

这类问题的关键是保留可追踪的请求编号,并把每个阶段耗时打出来。日志足够完整时,偶发问题也可以被拆成几个明确的检查项。