用curl排查DNS解析响应等时间

阅读更多

 

 

 

排查:fail to connect to {ip} cannot assign requested address

 

 

经查遇到需要测量网络请求时间问题,包括DNS解析、连接、传输等时间。

Linux下的curl命令可以很好的测量网络请求,如下

curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} 
 http://www.jd.com 

 

-o表示输出结果到 /dev/null(避免返回数据淹没了时间信息)

-s表示去除状态信息

-w表示列出后面的参数的结果

 

curl命令支持的参数,有如下

time_connect        建立到服务器的 TCP 连接所用的时间
time_starttransfer  在发出请求之后,Web 服务器返回数据的第一个字节所用的时间
time_total          完成请求所用的时间
time_namelookup     DNS解析时间,从请求开始到DNS解析完毕所用时间(记得关掉 Linux 的 nscd 的服务测试)
speed_download      下载速度,单位-字节每秒。

通过该命令,可以计算网络请求中DNS解析、连接、传输及总的时间,进行初步的故障排查。

例如:

time curl -o /dev/null -s -w %{http_code}:%{http_connect}:%{content_type}:%{time_namelookup}:%{time_redirect}:%{time_pretransfer}:%{time_connect}:%{time_starttransfer}:%{time_total}:%{speed_download} -d 'yun_droid_mapsdkKBIH8I09CJK09BN89HILIBHKKXZV8OU111339641496121.6635c0:83:0a:55:1d:91,-65*c0:83:0a:55:1d:91,-65*8c:10:d4:e7:91:c6,-76*58:20:b1:55:9c:5d,-74*40:65:a3:63:a2:ee,-74*' http://{ip}/APS/r

 

200:000:text/xml;charset=GBK:0.005198:0.000000:0.129652:0.129178:0.242116:0.242243:1011.000

real 0m0.255s

user 0m0.006s

 

sys 0m0.006s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

47.88.132.64

你可能感兴趣的:(http,网络)