TTL是Time-To-Live的缩写,生存时间,全国各地的LocalDNS服务器中解析记录的缓存时间周期一般默认为权威DNS中设置的TTL值。
TTL的生效机制
当各地的LocalDNS服务器接收到解析请求查询时,就会向权威DNS(例如云解析DNS)发起解析请求查询,获取解析结果。
LocalDNS会将查询到的解析结果,保存到本地一段时间。保存的这个时间周期,一般就是根据TTL设置而来的。在保存的这个时间周期内,如果各地LocalDNS再接收到此域名的解析请求查询,是不会再向权威DNS发起请求查询的,而是直接将本地保存的解析结果返回给用户。
当LocalDNS本地缓存的时间到期后,就会清除该解析记录的缓存结果,清除后,如果各地LocalDNS再接收到此域名的解析请求,则会重新向权威DNS(例如云解析DNS)发起解析请求,获取最新的解析结果。
全国各地的LocalDNS服务器中解析记录的缓存时间周期一般默认为权威DNS中设置的TTL值。少数运营商可能会调整LocalDNS的缓存时间策略,导致您的解析记录变更生效时间延长。
不同版本可设置的TTL值
云解析DNS不同版本可设置的最小TTL值不同,如需设置更小的TTL值,请购买权威托管域名(包年包月)。
版本 | 免费版 | 个人版 | 企业旗舰版 |
最小TTL值 | 600秒(10分钟) | 600秒(10分钟) | 1秒 |
最大TTL值 | 86400(24小时) | 86400(24小时) | 86400(24小时) |
应用场景
通过增大TTL值,减少DNS递归查询过程,实现提升域名解析速度。
一般情况,解析记录发生变更的频率是很低的,所以可以通过增大TTL值,让解析结果在全国各地 LocalDNS 中的缓存时间变长,这样当用户访问网站时,就无需经过DNS的递归过程,而是最直接从客户本地DNS服务器将解析结果返回给用户,可以在一定程度上优化解析速度。
通过缩小 TTL 值,以减少更换空间IP地址时造成的不可访问时间。
当修改解析记录指向新的IP地址时,因为缓存的原因,可能有些地方已经生效,但有些地方因为LocalDNS 的缓存时间还没到期,所以还未生效,造成的直接结果就是有的用户已经访问到了新的服务器地址,但有的用户还是访问的是旧服务器地址。
配置流程
先查看域名当前设置的 TTL 值,假设为10min。
修改 TTL 值为可设定的最小值,假设您购买的是云解析DNS旗舰版,那么可以将TTL值修改为1秒(云解析DNS版本不同,提供可设定的TTL最小值也不同,您可以参阅 不同版本可设置的TTL值)。
等待10min,主要是等待全球各地的 LocalDNS 缓存过期,缓存过期后会向权威DNS查询最新的解析结果(这里是TTL值从10min修改为1秒,所以需要等待上一次的缓存到期才会缓存此次修改的最新解析结果)。
然后修改解析IP地址,因为上一步TTL值已修改为1秒,所以全国各地的 LocalDNS 理论上就能以最快的速度更新到最新的解析结果。
等全球各地的LocalDNS都同步到最新的解析结果后,且测试没问题的情况下,最后再调大TTL值(如10min)。因为TTL设置1秒,相当于在全球各地的LocalDNS上基本没有缓存效果,每次都需要经过DNS递归查询过程,会给解析速度造成影响。
说明有少部分LocalDNS可能不遵循权威DNS的TTL设置规则,所以当您拨测测试时,也许会发现部分地区的LocalDNS的解析结果和设置不符,如果遇到此情况建议您再等待一段时间,然后再进行测试即可。
操作步骤
单击目标域名进入 解析设置 页面。
单击目标解析记录后方的 修改 按钮。
在修改记录会话框中,对TTL值进行选择,并单击 确认 按钮。
常见问题
为什么我无法将TTL值设置为1秒?
不同版本的云解析服务可设置的最小TTL是不同的,详情参见不同版本可设置的TTL值。
为什么我将TTL设置为1秒,感觉生效还是很慢?
如果你在上一次设置的TTL时间是10分钟,那么只能等10分钟,让所有LocalDNS都失效后获取最新的解析记录。但是在下一次变更解析记录时,1秒生效。
新增、修改、删除解析记录的生效时间问题?
新增、修改、删除解析记录的生效时间,参考解析生效时间常见问题。