一.概述
dns访问是用户访问网站的第一步,用户先去本地的local dns解析网站域名,如果local dns没有缓存,需要递归到根服务器,再到域名所属的ns查询。凭经验值,一般dns解析超过2s,都是local dns回源解析。如果用户每次访问,都需要去源站,这个就是dns解析不热,需要提前让local dns缓存好。假如用户访问访问网站基本都在白天,经过一晚上,如果没有预热,那么早晨开始访问域名的请求就会比较慢。
local dns缓存域名的时间由域名的TTL觉得,TTL之内,就不需要回源解析了。除了TTL,如果这个域名访问频繁,域名也能缓存,local dns本身也会有缓存。所以一个域名热度由三个维度决定,TTL,访问频率,local dns。
二.实践
1.如何获取域名的原始TTL
dig命令可以直接得到。当local dns没有缓存的时候,拿到的值就是这个域名设置的TTL时间。如下图所示:






可以看出标蓝色的部分,紧挨着两次时间,值不相同。这个就是当前还剩下TTL的时间,这个时间过去,TTL就是local dns缓存失效,重新去权威获取解析结果。
2.如何得出local dns缓存时间
3.设置多大的TTL合适
4.通过拨测看预热效果
三.域名推送系统
主动发起dns查询,获取用户的local DNS ,通过edns向local DNS 查询。
网友评论