问题随手记
随手记录解决的问题
问题表现及描述
寻常打开网页时,左下角显示“正在解析主机”,且时间太长。导致浏览网页体验相当不好
根本原因
首先明确一点,这种情况的根本原因就是DNS解析过慢!先看测试。
DNS解析测试
curl命令可以帮助我们了解http请求过程中的一些连接情况,但要注意的是curl命令不是windows自带的命令,需要自行下载安装。
打开cmd,清空dns缓存(ipconfig/flushdns),然后输入如下命令。
curl -o /dev/null -s -w time_namelookup:”\t”%{time_namelookup}”\n”time_connect:”\t\t”%{time_connect}”\n”time_appconnect:”\t”%{time_appconnect}”\n”time_pretransfer:”\t”%{time_pretransfer}”\n”time_starttransfer:”\t”%{time_starttransfer}”\n”time_total:”\t\t”%{time_total}”\n”time_redirect:”\t\t”%{time_redirect}”\n” https://www.baidu.com
采用百度作为本次测试的目标,测试结果如下。
分析数据得知,DNS的解析时间为12秒,其余的所有操作加起来都没超过1秒,这明显表示DNS解析速度过慢,就算再垃圾的DNS服务器也不可能需要12秒来解析域名。
原因分析
在更换DNS服务器无效的情况下,一般是因为虚拟网卡与物理网卡的DNS设置冲突导致DNS解析过慢。
这种情况下使用nslookup命令查看DNS服务地址时返回结果不太可信。
nslookup命令被用来查看DNS服务器地址,上述情况一般会返回虚拟网卡的DNS地址,但我遇到的全是返回的物理网卡DNS地址,而且DNS解析很慢。
解决方案
查看虚拟网卡,将配置的DNS服务器地址删除或者直接禁用掉这张虚拟网卡,等有需要的时候再开启。(半解决方案,暂时没找到两全其美的办法)。
关闭虚拟网卡后再次测试DNS,结果如下:
所有的操作均在1s内完成,问题大致解决。
91929402