我已经从 Ubuntu 存储库安装了 dnscache ( dnscache-run
),并且已将 CACHESIZE 和 DATALIMIT 增加到 256MB ( 268435456
)。
今天,我使用一个域名对其进行了测试:谷歌。
我在控制台中执行了dig google.es
:
;; Query time: 86 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
我又重复了一遍这个问题:
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
正确。
在我使用 Firefox 访问了多个网站至少 10 分钟并重复了以下查询后:
;; Query time: 87 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
在 10 分钟的互联网浏览中,它必须清空 256MB 的缓存吗?!此外,在这 10 分钟内,我搜索了谷歌。
基于这些令人失望的结果,我的问题显而易见:dnsache 真的能提高浏览速度吗?也许我的设置有问题?
答案1
简短的回答:不,不是真的。
长答案:根据我的经验,dnscache 在为多台不同的机器提供服务时非常有用。例如在路由器或网络网关上。对于单台机器来说,它没那么有用,中间的每个人(软件、路由器等)很可能都已经在进行 dns 缓存,甚至 Firefox 也会默认进行本地 DNS 缓存。
现在您的结果:Google.com dns 记录的 TTL(生存时间)为 298 秒(现在对我来说)。他们要求任何 dns 缓存不要将记录保留更长时间(他们经常更改 IP),因此 dnscache 应该遵守这一点。如果您尝试使用其他具有更高或 TTL 的域,它不应该如此快地丢弃缓存。
;; ANSWER SECTION:
google.com. 298 IN A 209.85.147.104
;; ANSWER SECTION:
yahoo.com. 16522 IN A 72.30.2.43
这是 digg 的输出,298 是 google 的 TTL,16522 是 yahoo 的 TTL。您可以用 yahoo 重复检查,并预计缓存的有效期将接近 5 小时。