使用time命令,可以看到curl实际运行时间在16.284s,这个时间是无法接受的,而且严重不正常的现象,故继续使用curl命令分析请求的耗时时间。
$ curl -o /dev/null -s -w %{time_namelookup}---%{time_connect}---%{time_starttransfer}---%{time_total}---%{speed_download}"n" www.baidu.com
15.513---15.532---15.559---15.560---362.000
可以看出curl在time_namelookup阶段花费的时间最长。
curl参数说明:使用-w的参数打印信息。
它能够按照指定的格式打印某些信息,里面可以使用某些特定的变量,而且支持 n、t和 r 转义字符。提供的变量很多,比如 status_code、local_port、size_download 等等,这篇文章我们只关注和请求时间有关的变量(以 time_ 开头的变量)。
新建文本: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