域名解析TTL
TTL英文为Time To Live(生存时间),即域名解析的生存时间,也就是指域名的DNS解析记录在DNS服务器上的生存时间。
TTL值详解:
用户访问网站,并不是每次都会向DNS服务器上获取域名解析。比如用户第一次访问站点,会到DNS服务器上进行解析获取到对应的IP地址,用户从DNS服务器上获取的信息会缓存到当地的递归DNS服务器上。当第二个用户访问该网站时,递归服务器会直接返回解析结果,而不会再向DNS服务器请求解析。
那么问题来了,递归服务器上对应的该域名的DNS解析信息什么时候失效?什么时候会更新该域名的DNS解析信息?这就是由TTL值决定的。
TTL值设置多少合适?
假设用户对域名解析做了更改,TTL值设置的越小则生效越快,看样子TTL值是不是设置的越小越好?这样,我们修改域名解析是不是可以立即生效?但是将域名解析的TTL值设置的很小,就会导致几乎每次用户的解析,递归服务器都需要向DNS服务器进行解析请求,而权威服务器的解析要判断用户的来源进行智能解析,相对于用户直接从递归服务器上获取缓存解析的时间,要多得多,TTL值太小会影响用户的访问体验。
TTL值设置多少为最佳?
一般情况下:
这个TTL值的大小设置并没有统一的标准,建议设置600秒即可,而阿里云默认的域名解析TTL值为10分钟,腾讯云默认的TTL值为600秒,二者都是10分钟就是600秒,所以TTL值为600秒算是比较合理的。
特殊情况下参考下表:
IP是否经常变动 | 是否动态IP | 宕机检测 | 服务架构 | 建议TTL值 |
---|---|---|---|---|
否 | 否 | 否 | 热备、灾备、固定IP | 3600 |
否 | 否 | 是 | 大型网站 | 60 |
否 | 否 | 不使用 | 单服务器 | 600 |
否 | 否 | 使用 | 多服务器 | 180 |
是 | 否 | 不使用 | 单服务器 | 300 |
是 | 是 | 不限 | 不限 | 120 |
但是对于一般网站而言,不经常变更服务器IP,不搭集群,一般设置600秒即可。