曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4494|回复: 0
打印 上一主题 下一主题

解决 wget 的解析速度慢问题

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2015-4-4 22:54:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你可能会遇到这种情况,在用 wget 去下载一个东西时,许多时间耗在网址的解析上,这个时间经常可能高达 10 秒以上,比如:
beyes@ubuntu:~$ time wget http://www.groad.net/index.html
--2015-04-04 07:46:44--  http://www.groad.net/index.html
Resolving www.groad.net (www.groad.net)... 183.60.136.137
Connecting to www.groad.net (www.groad.net)|183.60.136.137|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 284 [text/html]
Saving to: ‘index.html’
100%[======================================>] 284         --.-K/s   in 0s      
2015-04-04 07:46:59 (23.5 MB/s) - ‘index.html’ saved [284/284]

real 0m15.141s
user 0m0.004s
sys 0m0.000s

其中,time 命令是用来统计 wget 此次执行的时间,非常可怕,用了 15 秒。

当你再次使用相同的 wget 命令时,速度还是这么慢!其原因是,wget 是没有 DNS 缓存功能的。最重要的一个原因是,wget 的 DNS 查询里还包含了 IPv6 的解析请求,而如果你 wget 的网址是没有 IPv6 的,那么速度势必会慢下来,解决这个问题的方法是使用 -4 选项,强制只使用 IPv4,再试一次:
beyes@ubuntu:~$ time wget -4 http://www.groad.net/index.html
--2015-04-04 07:51:22--  http://www.groad.net/index.html
Resolving www.groad.net (www.groad.net)... 183.60.136.137
Connecting to www.groad.net (www.groad.net)|183.60.136.137|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 284 [text/html]
Saving to: ‘index.html.1’
100%[======================================>] 284         --.-K/s   in 0s      
2015-04-04 07:51:22 (65.7 MB/s) - ‘index.html.1’ saved [284/284]

real 0m0.116s
user 0m0.004s
sys 0m0.000s

再来一次,这次明显快多了,耗时才 0.1 秒。

我们再用 host 命令来验证 DNS 解析不存在的 IPv6 造成解析结果慢的情况:
beyes@ubuntu:~$ time host -t A www.groad.net
www.groad.net has address 183.60.136.137
real 0m0.013s
user 0m0.008s
sys 0m0.000s

只请求解析 IPv4,速度很快。

试一下 IPv6 :
beyes@ubuntu:~$ time host -t AAAA www.groad.net
;; connection timed out; no servers could be reached
real 0m10.014s
user 0m0.000s
sys 0m0.008s

耗时高达 10 秒。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 13:42 , Processed in 0.061004 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表