在配置域名解析(DNS)时,你一定见过一个名为 TTL 的参数。很多人对它一头雾水,要么直接使用服务商的默认值(比如 600 或 86400),要么随意填个数字。
但你知道吗?TTL 设置得过长或过短,都可能对网站的访问速度、故障恢复以及服务器迁移带来直接影响。
今天我们就看看DNS 中的 TTL 到底是什么,以及在不同场景下应该如何科学配置。
一、什么是 DNS 中的 TTL?
TTL 是 Time To Live(生存时间) 的缩写,在 DNS 解析中,它的单位通常是秒(Seconds)。
简单来说:TTL 决定了解析记录在各个递归 DNS 服务器(如 8.8.8.8、114.114.114.114 或本地运营商 ISP 的 DNS)中被缓存保留的时间。
形象的比喻:
你可以把 DNS 查询理解为向“中介”打听某人的最新住址:
- 如果 TTL 是 3600 秒(1小时),意味着中介把你的住址记在小本本上,并在接下来的 1 小时内,无论谁来问,都直接按小本本上的地址回答,不再向你本人确认。
- 1 小时后,这条记录过期;如果有下一个人来问,中介必须重新向你的权威 DNS 服务器核实一次最新地址。
二、TTL 的工作流程
为了更好地理解 TTL,我们来看一次典型的访问过程:
- 首次查询:用户访问
example.com,本地 DNS 缓存没有记录,于是向权威 DNS 请求解析,得到 IP 地址1.2.3.4,同时收到该记录的 TTL(例如3600秒)。 - 缓存生效:本地 DNS 将
example.com -> 1.2.3.4存入缓存。在接下来的 3600 秒内,其他用户通过同一个本地 DNS 查询该域名时,直接从缓存返回结果,耗时极短(通常 < 5ms)。 - 缓存过期:3600 秒结束后,缓存失效。下一次请求将重新走完整的 DNS 解析流程。
三、长 TTL vs 短 TTL:没有绝对的好坏
TTL 的设置本质上是访问性能/成本与灵活性/容灾能力之间的权衡。
| 对比维度 | 长 TTL(如 12~24 小时) | 短 TTL(如 1~5 分钟) |
|---|---|---|
| 访问响应速度 | 🚀 极快(绝大多数走本地缓存) | 🐢 稍慢(频繁发起跨网递归查询) |
| 权威 DNS 负载 | 📉 极低,解析请求少 | 📈 较高,解析请求频繁(可能增加 DNS 费用) |
| 修改生效时间 | ⏳ 极慢(需要等缓存完全过期) | ⚡ 极快(几分钟内全球生效) |
| 故障转移/容灾 | ❌ 切换慢,故障窗口期长 | ✔️ 切换迅速,能快速切走流量 |
四、TTL 应该设置成多少?常见场景推荐
不同业务和不同类型的 DNS 记录,适合的 TTL 完全不同:
1. 常规稳定运行的网站/应用(推荐:3600s ~ 86400s / 1~24小时)
- 场景:服务器 IP 地址长期不变的个人博客、企业官网、稳定业务系统。
- 推荐值:
3600(1小时)至86400(24小时)。 - 原因:最大化利用全球 DNS 缓存,降低解析延迟,提升用户打开速度。
2. 即将进行服务器/IP 迁移(推荐:提前设为 300s ~ 600s / 5~10分钟)
- 场景:更换主机提供商、机房搬迁或更换公网 IP。
- 策略:
- 迁移前 24~48 小时:将原记录的 TTL 调低至
300秒(5分钟); - 正式迁移当天:修改解析至新 IP,全球大部分用户将在 5 分钟内切到新服务器;
- 稳定运行 1~2 天后:将 TTL 恢复调高至
3600或更大。
- 迁移前 24~48 小时:将原记录的 TTL 调低至
3. 高可用、动态故障切换(Failover)或 DDNS(推荐:60s ~ 300s / 1~5分钟)
- 场景:配置了健康检查与自动故障切流的系统、动态公网 IP(家庭宽带 NAS/自建服务器)。
- 推荐值:
60至300秒。 - 原因:节点宕机或 IP 变化时,需要在最短时间内将流量引导到正常节点,避免较长服务中断。
4. 几乎永不变更的基础记录(推荐:43200s ~ 86400s / 12~24小时)
- 场景:企业邮箱的
MX记录、域名所有权验证/SPF 记录的TXT记录、CAA记录。 - 推荐值:
86400(24小时)或更高。 - 原因:这些配置很少修改,高 TTL 有助于邮件路由的稳定性和减少查询开销。
5. 新业务上线测试/调试阶段(推荐:60s ~ 300s)
- 场景:新项目刚上线、正在联调 DNS 路由或 CDN 接入。
- 推荐值:
300秒(5分钟)。 - 原因:方便在发现配置错误时快速回滚或修正。
五、速查对照表
| 记录类型 / 使用场景 | 推荐 TTL (秒) | 对应时间 |
|---|---|---|
| 默认 / 稳定生产环境 | 3600 | 1 小时 |
| 极少变更的官网 / MX / TXT | 86400 | 24 小时 |
| 服务器准备搬家 / 迁移期 | 300 | 5 分钟 |
| DDNS 动态域名 / 故障切换 | 60 ~ 120 | 1 ~ 2 分钟 |
| 新业务调试 / 开发测试 | 300 | 5 分钟 |
六、总结
DNS TTL 就像给你的解析记录设置的一个保质期:
- 追求极致速度与稳定性,在不经常改动时,大胆设长(1~24小时);
- 追求灵活性与快速生效,在调试、迁移或做高可用时,果断设短(1~5分钟)。
平时的最佳习惯是:日常设为 1 小时(3600s),遇变更提前调低,改完稳定后再调回。

Comments NOTHING