推荐的 DNS SOA 记录 TTL 默认值?

推荐的 DNS SOA 记录 TTL 默认值?

我们目前有我们的 DNSSOA 记录对于 stackoverflow.com,设置为以下内容:

    primary name server = ns1.p19.dynect.net
    serial  = 2009090909
    refresh = 3600 (1 hour)
    retry   = 600 (10 mins)
    expire  = 604800 (7 days)
    default TTL = 60 (1 min)

对于像 stackoverflow.com 这样每天页面浏览量接近 100 万的网站,我们的刷新 / 重试 / 过期 / 默认 TTL 是否有更好的选择?

答案1

网站的实际流量率并不重要。

所有这些设置(“默认 TTL” 除外)仅影响域的辅助 DNS 服务器轮询主 DNS 服务器以获取更新的频率。

如果您的区域很少更改(我相信您的区域确实如此),那么您的“刷新”值目前有点偏低。通常,主服务器应该NOTIFY在有更新时向每个辅助服务器发送一条消息,此时辅助服务器会立即获取区域文件。如今,“刷新/重试/过期”机制只是对此的后盾。

无论如何,您的 DNS 提供商可能会自动将更改同步到所有相关 DNS 服务器,而无需使用 DNS 的内置同步机制,因此实际值可能无关紧要。

请注意,“默认 TTL”字段不再具有其名称的含义。真正的默认 TTL 是使用指令设置的(至少在 BIND 中)$TTL,并且仅在每条记录未设置明确 TTL 时使用。

“默认 TTL”字段的含义已在RFC 2308这其实是在暗示负面缓存。如果您的服务器返回否定响应(例如NXDOMAINNODATA),则远程服务器应等待多长时间才能再次尝试。

目前的价值有点偏低,但保留原样也没什么坏处。无论如何,它经常被忽略。

答案2

有趣的是,来自 dyn 人员(我们的 DNS 主机)的 DNS 诊断页面...

http://dnscog.com/report/stackoverflow.com

.. 在 MINTTL 上这样说:

检查 SOA MINTTL

您的 SOA minttl 值为 60 秒,低于一般 DNS 使用的建议最小值。如果您定期更改 DNS 区域,或使用基于 DNS 的负载平衡服务,则此处较小的值是可以的。

推荐

考虑将 1800 到 86400 之间的值放入您的 SOA minttl 字段。

这是关于 SOA 刷新的

检查 SOA 刷新

您的 SOA 刷新字段为 3600 秒,低于建议的最小值。刷新值过低可能会导致不必要的查询量或意外行为,尤其是当您使用 0 值时。如果您定期更改 DNS 区域,或使用基于 DNS 的负载平衡服务,较小的值将有助于确保更改尽快传播。

推荐

考虑将 7200 至 10800 之间的值放入 SOA 刷新字段。

另一个诊断页面位于http://www.intodns.com/stackoverflow.com没有提供任何真正的提示。

答案3

来自 Pingdom:http://dnscheck.pingdom.com/

SOA TTL  recommended >= 3600.
SOA refresh  recommended >= 14400.
SOA retry  recommended >= 3600.
SOA expire  recommended >= 604800.
SOA minimum  recommended between 300 and 86400.

相关内容