curl 和 httpstat 帮你分析网站响应时间

最近在排查的问题的过程中使用到两个小工具,在此处做个简单的记录

cURL

vim curl.format
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

执行curl命令

 curl -w "@curl.format" -s https://qq.com   -I
HTTP/2 302
date: Thu, 06 Aug 2020 13:07:14 GMT
content-type: text/html
server: squid/3.5.24
location: https://www.qq.com?fromdefault
expires: Thu, 06 Aug 2020 13:08:15 GMT
cache-control: max-age=60
vary: Accept-Encoding
x-cache: EXPIRED from shenzhen.qq.com

time_namelookup:  0.005594
        time_connect:  0.014348
     time_appconnect:  0.053759
       time_redirect:  0.000000
    time_pretransfer:  0.053873
  time_starttransfer:  0.099312
                     ----------
          time_total:  0.099468

上面几个参数的解释

  • time_namelookup:DNS 域 d名解析的时候,就是把 https://qq.com 转换成 ip 地址的过程
  • time_connect:TCP 连接建立的时间,就是三次握手的时间
  • time_appconnect:SSL/SSH 等上层协议建立连接的时间,比如 connect/handshake 的时间
  • time_redirect:从开始到最后一个请求事务的时间
  • time_pretransfer:从请求开始到响应开始传输的时间
  • time_starttransfer:从请求开始到第一个字节将要传输的时间
  • time_total:本次请求花费的全部时间

httpstat

httpstat 是Python封装的工具,本质上封装的cURL命令

如何安装

pip install httpstat

使用

httpstat https://www.taobao.com

结果

image.png

你可能感兴趣的:(curl 和 httpstat 帮你分析网站响应时间)