curl 获取HTTP请求时间

前言

需要知道一个服务从发起一个HTTP请求,到响应回来所耗费的各个时间,利用最简单的curl命令就可以获取到。

详细说明

$ curl -w "Result: \n dnslookup: %{time_namelookup} \n connect: %{time_connect} \n appconnect: %{time_appconnect} \n pretransfer: %{time_pretransfer} \n starttransfer: %{time_starttransfer} \n total: %{time_total} \n ----\n time_redirect: %{time_redirect} \n ----\n size: %{size_download}\n" "https://www.baidu.com"

 百度一下,你就知道  

关于百度 About Baidu

©2017 Baidu 使用百度前必读  意见反馈 京ICP证030173号 

Result: dnslookup: 0.005 connect: 0.009 appconnect: 0.128 pretransfer: 0.128 starttransfer: 0.134 total: 0.134 ---- time_redirect: 0.000 ---- size: 2443

参数:

  • time_namelookup:DNS解析时间,从请求开始到DNS解析完毕所用时间
  • time_connect:建立到服务器的 TCP 连接所用的时间
  • time_appconnect:从起始到应用侧(SSL)连接/握手完成的耗时。(在7.19.0 版加入)
  • time_pretransfer:从开始至准备开始传输数据的时间
  • time_starttransfer:在发出请求之后,Web 服务器返回数据的第一个字节所用的时间
  • time_total:全部操作耗费的时间,单位为秒。精确到毫秒。
  • size_download:下载的总字节数。
  • speed_download:下载速度,单位-字节每秒。

从上面的例子可以看到

  1. DNS解析耗时:0.005秒
  2. TCP建立连接的耗时:(0.009-0.005)= 0.004秒
  3. SSL握手完成耗时:(0.128-0.009)= 0.119秒
  4. server处理数据的时间:(0.134-0.128)= 0.006秒
  5. 总体的耗时:0.134秒
  6. 整个过程没有redirect,所以redirect的耗时为0

你可能感兴趣的:(curl 获取HTTP请求时间)