最近在排查的问题的过程中使用到两个小工具,在此处做个简单的记录
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