Linux 下排查接口超时的几个命令汇总,新手也能用

举报
柠檬-夏日清爽 发表于 2026/09/14 11:09:48 2026/09/14
【摘要】 接口超时排查不用慌,按"网络 → 连接 → 资源"的顺序用几个命令就能定位大半问题。聊聊 curl 计时、ss 看连接、top 看负载、tcpdump 抓包这几个最实用的手段,附一张排查顺序表。

线上接口超时,第一反应往往是"重启试试"。但重启掩盖不了问题,下次还来。其实 Linux 自带的一堆命令,按套路用就能把超时原因缩小到很小范围。这篇给一套新手也能照着敲的流程。

一、先确认:到底是哪一段慢

别急着进服务器,先用 curl 带计时,看耗时花在哪:

curl -o /dev/null -s -w "dns:%{time_namelookup} conn:%{time_connect} total:%{time_total}\n" https://api.example.com/health

time_connect 高说明建连慢(网络或服务端忙),time_total 远高于前者说明服务端处理慢。这一步就能区分"网络问题"还是"应用问题"。

二、连得上吗:看端口和连接

确认服务端端口在不在监听、连接堆不堆积:

ss -lntp | grep :5000      # 看 5000 端口是否在听
ss -ant | grep :5000 | wc -l  # 看当前连接数

如果 TIME_WAIT 一堆,可能是短连接太多;如果连接数异常高,应用可能卡在某处没释放。

三、查看服务器的情况

超时常常是资源被打满。三板斧:

top            # 看 CPU、内存谁占高
df -h          # 看磁盘是不是满了(满了对所有写入型接口致命)
free -m        # 内存和 swap

四、抓包看内容

网络和应用的"罗生门",用 tcpdump 抓包最直接:

tcpdump -i any -n port 5000 -c 50   # 抓 5000 端口 50 个包

能看到请求到底有没有到服务器、回没回、卡在哪一步。

五、排查顺序一张表

步骤 命令 看什么
1 测耗时 curl -w 建连慢还是处理慢
2 看端口 ss -lntp 服务在不在听
3 看资源 top / df CPU/磁盘是否打满
4 抓包 tcpdump 包有没有到、卡哪步

小结

接口超时排查,核心思路是"分层缩小范围":先确认慢在网络还是应用,再看连接、资源,最后才抓包看细节。命令都不难,难的是按顺序来、尽量别经常重启。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。