如何配置TTL

TTLTime-To-Live的缩写,生存时间,全国各地的LocalDNS服务器中解析记录的缓存时间周期一般默认为权威DNS中设置的TTL值。

TTL的生效机制

  1. 当各地的LocalDNS服务器接收到解析请求查询时,就会向权威DNS(例如云解析DNS)发起解析请求查询,获取解析结果。

  2. LocalDNS会将查询到的解析结果,保存到本地一段时间。保存的这个时间周期,一般就是根据TTL设置而来的。在保存的这个时间周期内,如果各地LocalDNS再接收到此域名的解析请求查询,是不会再向权威DNS发起请求查询的,而是直接将本地保存的解析结果返回给用户。

  3. 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小时)

应用场景

  1. 通过增大TTL值,减少DNS递归查询过程,实现提升域名解析速度。

    一般情况,解析记录发生变更的频率是很低的,所以可以通过增大TTL值,让解析结果在全国各地 LocalDNS 中的缓存时间变长,这样当用户访问网站时,就无需经过DNS的递归过程,而是最直接从客户本地DNS服务器将解析结果返回给用户,可以在一定程度上优化解析速度。

  2. 通过缩小 TTL 值,以减少更换空间IP地址时造成的不可访问时间。

    当修改解析记录指向新的IP地址时,因为缓存的原因,可能有些地方已经生效,但有些地方因为LocalDNS 的缓存时间还没到期,所以还未生效,造成的直接结果就是有的用户已经访问到了新的服务器地址,但有的用户还是访问的是旧服务器地址。

配置流程

  1. 先查看域名当前设置的 TTL 值,假设为10min。

  2. 修改 TTL 值为可设定的最小值,假设您购买的是云解析DNS旗舰版,那么可以将TTL值修改为1秒(云解析DNS版本不同,提供可设定的TTL最小值也不同,您可以参阅 不同版本可设置的TTL)。

  3. 等待10min,主要是等待全球各地的 LocalDNS 缓存过期,缓存过期后会向权威DNS查询最新的解析结果(这里是TTL值从10min修改为1秒,所以需要等待上一次的缓存到期才会缓存此次修改的最新解析结果)。

  4. 然后修改解析IP地址,因为上一步TTL值已修改为1秒,所以全国各地的 LocalDNS 理论上就能以最快的速度更新到最新的解析结果。

  5. 等全球各地的LocalDNS都同步到最新的解析结果后,且测试没问题的情况下,最后再调大TTL值(如10min)。因为TTL设置1秒,相当于在全球各地的LocalDNS上基本没有缓存效果,每次都需要经过DNS递归查询过程,会给解析速度造成影响。

    说明

    有少部分LocalDNS可能不遵循权威DNSTTL设置规则,所以当您拨测测试时,也许会发现部分地区的LocalDNS的解析结果和设置不符,如果遇到此情况建议您再等待一段时间,然后再进行测试即可。

操作步骤

  1. 访问云解析DNS-公网权威解析

  2. 单击目标域名进入 解析设置 页面。

  3. 单击目标解析记录后方的 修改 按钮。

  4. 在修改记录会话框中,对TTL值进行选择,并单击 确认 按钮。

    image.png

常见问题

为什么我无法将TTL值设置为1秒?

不同版本的云解析服务可设置的最小TTL是不同的,详情参见不同版本可设置的TTL

为什么我将TTL设置为1秒,感觉生效还是很慢?

如果你在上一次设置的TTL时间是10分钟,那么只能等10分钟,让所有LocalDNS都失效后获取最新的解析记录。但是在下一次变更解析记录时,1秒生效。

新增、修改、删除解析记录的生效时间问题?

新增、修改、删除解析记录的生效时间,参考解析生效时间常见问题