设置区域文件后,我返回查看我的 TTL 值。默认设置为 24 小时,并且我为每个单独的记录设置了单独的 TTL 值。
我的想法是 NS、MX 和 CNAME 记录应该具有更高的 TTL 值,因为它们可能不会经常更改。 1wk 似乎比较合适,并且会减少服务器上的负载。然而,A 记录可以具有较低的值,例如 12 小时。
我的问题是,如果 MX 记录mx1.example.com
的 TTL 为 1wk,且mx1.example.com
A 记录的a.b.c.d
TTL 为 12 小时,客户端是否仍会每 12 小时查询一次 DNS 服务器以确保 A 记录是最新的?由于 DNS 查询很少,因此此时是否值得为 NS、MX 和 CNAME 设置更高的 TTL 值?
答案1
尽管缩短 TTL 有助于计划迁移,但所有客户端转移到新 IP 地址所需的时间通常存在长尾效应。一些 DNS 服务器能够在计划的迁移时间戳临近时动态调整 TTL。
DNS 可能不是太大的带宽问题(除非您有一个开放的 DNS 服务器在放大攻击中被滥用),因此最好的 TTL 可能是一个金凤花问题,即不要太低,但也不要太高,以至于如果有一个需要迁移到新的 IP 地址,从而最大限度地缩短迁移时间。电子邮件通常会在队列中徘徊数天,12 小时或 24 小时 TTL 有足够的时间到期,尽管一些现代互联网应用程序期望更快的传递(例如“在五分钟内回复此消息”之类的事情),以及是否对于那些在(可能是计划外的)迁移期间出现故障的情况来说,最好向您的客户澄清一下。