欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-06 17:44:24
...

 

 

 

排查: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 '<?xml version="1.0" encoding="GBK" ?><Cell_Req ver="1.0"><HDR version="1.0" cdma="0" gps="" glong="" glat="" precision=""><src>yun_droid_mapsdk</src><license>KBIH8I09CJK09BN89HILIBHKKXZV8OU</license><imei>111339641496121.6635</imei ></HDR><DRR phnum="" nettype="" inftype="2"><mcc></mcc><mnc></mnc><lac></lac><cellid></cellid><signal></signal><nb></nb><mmac>c0:83:0a:55:1d:91,-65*</mmac><macs>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*</macs></DRR></Cell_Req>' 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 网络