3 分钟使用 curl 工具分析请求的耗时情况

84 阅读1分钟
  • 在目录创建格式化文件

    ➜ ~ vim curl-format.txt
        time_namelookup:  %{time_namelookup}\n
           time_connect:  %{time_connect}\n
        time_appconnect:  %{time_appconnect}\n
          time_redirect:  %{time_redirect}\n
       time_pretransfer:  %{time_pretransfer}\n
     time_starttransfer:  %{time_starttransfer}\n
                        ----------\n
             time_total:  %{time_total}\n
    
    • time_namelookup:DNS 域名解析的时候,就是把域名转换成 ip 地址的过程
    • time_connect:TCP 连接建立的时间,就是三次握手的时间
    • time_appconnect:SSL/SSH 等上层协议建立连接的时间,比如 connect/handshake 的时间
    • time_redirect:从开始到最后一个请求事务的时间
    • time_pretransfer:从请求开始到响应开始传输的时间
    • time_starttransfer:从请求开始到第一个字节将要传输的时间
    • time_total:这次请求花费的全部时间
  • 执行 curl 命令

    ➜ ~ curl -w "@curl-format.txt" -o /dev/null -s -L --location 'http://10.10.10.10:10001/marketing/health'
    time_namelookup:  0.000
           time_connect:  0.000
        time_appconnect:  0.000
          time_redirect:  0.000
       time_pretransfer:  0.000
     time_starttransfer:  0.011
                        ----------
             time_total:  0.011
    
    
    • -w:从文件中读取要打印信息的格式
    • -o /dev/null:把响应的内容丢弃,因为我们这里并不关心它,只关心请求的耗时情况
    • -s:不要打印进度条
  • 实际效果 image.png

参考文档