curl排查DNS解析慢的原因

curl -o /dev/null -s -w %{time_connect}:%{time_namelookup}:%{time_total}  https://www.120ask.com

-o表示输出结果到 /dev/null(避免返回数据淹没了时间信息)
-s表示去除状态信息
-w表示列出后面的参数的结果

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

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

通过该命令,可以计算网络请求中DNS解析、连接、传输及总的时间,进行初步的故障排查。
通过上述命令我排查到我们内部DNS 有问题,一直在报错

 dnsmasq[19271]: Maximum number of concurrent DNS queries reached (max: 150)

优化自己内部DNS 服务 参数重启解决

 vim /etc/dnsmasq.conf

 cache-size=1000
 dns-forward-max=1000

 

或者更暴力的方法是绑定hosts

 

 

posted @ 2019-04-08 16:16  屌丝的IT  阅读(1797)  评论(0编辑  收藏  举报