|
如何判断 dnsmasq 设置的缓存已经生效?
首先需要说明一点,至少在 OpenWrt 里,dnsmasq 的缓存最大设置条数为 10000 条,最小为 150 条。设置缓存条目使用 --cache-size 或 -c 选项。
有些人会问,缓存文件保存在哪里?据我观察,在文件中是找不到的,应该是在内存中。既然是在内存中,那如何判断是否设置缓存生效?答案是用 dig 命令。
查询一下 www.kernel.com :
root@OpenWrt:~# dig www.kernel.com
; <<>> DiG 9.9.4 <<>> www.kernel.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6379
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 5
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.kernel.com. IN A
;; ANSWER SECTION:
www.kernel.com. 300 IN CNAME kochi-5882.herokussl.com.
kochi-5882.herokussl.com. 1800 IN CNAME elb047530-128150680.us-east-1.el b.amazonaws.com.
elb047530-128150680.us-east-1.elb.amazonaws.com. 60 IN A 54.225.139.133
elb047530-128150680.us-east-1.elb.amazonaws.com. 60 IN A 50.16.209.43
elb047530-128150680.us-east-1.elb.amazonaws.com. 60 IN A 50.17.248.29
;; AUTHORITY SECTION:
us-east-1.elb.amazonaws.com. 152 IN NS ns-235.awsdns-29.com.
us-east-1.elb.amazonaws.com. 152 IN NS ns-1793.awsdns-32.co.uk.
us-east-1.elb.amazonaws.com. 152 IN NS ns-1119.awsdns-11.org.
us-east-1.elb.amazonaws.com. 152 IN NS ns-934.awsdns-52.net.
;; ADDITIONAL SECTION:
ns-235.awsdns-29.com. 88554 IN A 205.251.192.235
ns-934.awsdns-52.net. 88555 IN A 205.251.195.166
ns-1119.awsdns-11.org. 88558 IN A 205.251.196.95
ns-1793.awsdns-32.co.uk. 88555 IN A 205.251.199.1
;; Query time: 807 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Oct 26 08:36:14 UTC 2014
;; MSG SIZE rcvd: 385
由上可见,查询耗时 807 毫秒。
当再次查询时:
root@OpenWrt:~# dig www.kernel.com
; <<>> DiG 9.9.4 <<>> www.kernel.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13683
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.kernel.com. IN A
;; ANSWER SECTION:
www.kernel.com. 284 IN CNAME kochi-5882.herokussl.com.
kochi-5882.herokussl.com. 1784 IN CNAME elb047530-128150680.us-east-1.el b.amazonaws.com.
elb047530-128150680.us-east-1.elb.amazonaws.com. 44 IN A 50.17.248.29
elb047530-128150680.us-east-1.elb.amazonaws.com. 44 IN A 50.16.209.43
elb047530-128150680.us-east-1.elb.amazonaws.com. 44 IN A 54.225.139.133
;; Query time: 6 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Oct 26 08:36:30 UTC 2014
;; MSG SIZE rcvd: 190
时间大大缩短,由此可见,缓存已经生效。 |
|