LIKEDI
← 返回归档

用 curl 看一次请求慢在哪儿

把 DNS、连接、TLS 和首字节耗时放在一行里,先看哪一段变长。

先测一遍

下面这条命令忽略响应正文,把各个时间点打印出来。输出单位是秒。

curl -sS -o /dev/null --max-time 10 \
  -w 'dns=%{time_namelookup} tcp=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total}\n' \
  https://example.com/

用相邻时间点作差

这些值从请求开始累积。要估算 TLS 握手时间,可以用 time_appconnect - time_connect。要比较两次请求,尽量使用相同的 URL、网络和 curl 参数。

首次测量受缓存和连接状态影响较大。跑三遍,把异常的一遍连同命令一起留下,通常比只记一个均值更容易复盘。

搜索文章

按 Enter 搜索,Esc 关闭

LIKEDI
Eonian