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