侧边栏壁纸
博主头像
seems 博主等级

学习博客

  • 累计撰写 60 篇文章
  • 累计创建 41 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

CURL在HTTP请求耗时分析中的应用

seems
2025-12-03 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

一、使用CURL分析HTTP请求耗时

1. 基本命令结构

curl -o /dev/null -s -w 'dns_resolution: %{time_namelookup}
connect_time: %{time_connect}
appconnect_time: %{time_appconnect}
pretransfer_time: %{time_pretransfer}
starttransfer_time: %{time_starttransfer}
total_time: %{time_total}\n' 'http://baidu.com'
  • curl:调用CURL工具。
  • -o /dev/null:将服务器返回的数据输出到/dev/null,不保存响应内容。
  • -s:启用静默模式(silent),不显示进度条或错误信息,使输出更加简洁。
  • -w:指定自定义的输出格式,后面跟随一串格式化字符串。字符串中包含多个变量,用于显示请求各个阶段的耗时。
  • 'http://baidu.com':目标URL。

2. 时间变量解析(单位均为秒s)

变量名含义解释影响
%{time_namelookup}DNS解析时间从请求开始到完成域名解析所需的时间影响请求启动速度,尤其在DNS缓存未命中时显著
%{time_connect}TCP连接时间从DNS解析完成到完成TCP连接建立所需的时间影响整体请求响应速度,涉及三次握手过程
%{time_appconnect}SSL握手时间从TCP连接建立到完成SSL握手(如果使用HTTPS)所需的时间。保障通信安全的同时增加请求耗时
%{time_pretransfer}从请求开始到文件传输即将开始的时间从请求开始到准备好传输数据的时间,包括所有初始化过程。涵盖数据传输前的准备工作,对整体性能有一定影响
%{time_starttransfer}从请求开始到接收到第一个字节的时间从请求开始到服务器开始响应并接收到第一个字节所需的时间,通常反映了服务器的响应速度。反映服务器处理请求的效率,是评估服务器响应性能的关键指标
%{time_total}总请求时间从请求开始到请求完成的总耗时,包括所有阶段。综合衡量请求性能的指标,直接影响用户体验

3. 命令执行示例

dns_resolution: 0.029
connect_time: 0.058
appconnect_time: 0.528
pretransfer_time: 0.528
starttransfer_time: 0.839
total_time: 0.866
0

评论区