实用百科指南
霓虹主题四 · 更硬核的阅读氛围

DNS TTL设置多少合适

发布时间:2025-12-19 10:01:24 阅读:163 次

在配置路由器或管理域名解析时,经常会遇到 DNS TTL 这个参数。很多人看到这个数值不知道该怎么设,干脆就用默认值。其实,TTL 的合理设置对网站访问速度和变更生效时间都有直接影响。

什么是 DNS TTL

TTL 全称是 Time To Live,中文意思是“生存时间”。它指的是 DNS 记录在本地缓存中保存的时间长度,单位是秒。比如设置为 300,就意味着这条记录会在用户的电脑、手机或运营商 DNS 服务器上缓存 5 分钟,期间不会重新查询。

常见 TTL 数值对比

不同的场景适合不同的 TTL 值:

  • 60(1分钟):适合正在做域名切换、IP 变更的临时调整,能快速让全球用户看到最新结果。
  • 300(5分钟):常用于 CDN 切换或负载均衡调整,平衡了更新速度和查询压力。
  • 3600(1小时):适用于比较稳定的网站,不频繁更换服务器 IP。
  • 86400(24小时):很多注册商默认值,适合长期不变的静态服务,减少 DNS 查询次数,提升访问效率。

什么时候该调低 TTL

如果你打算迁移网站服务器、更换云主机 IP 或者切换 CDN 厂商,建议提前把 TTL 改成 60 或 300。这样等真正切换时,用户能更快获取新地址,避免因为缓存导致打不开网站。等切换完成后再改回较高的值,减轻 DNS 服务器负担。

什么时候用高 TTL

对于长期稳定运行的网站,比如企业官网、博客或电商站点,IP 地址几年都不变,完全可以把 TTL 设成 86400。这样一来,用户的设备和运营商 DNS 都会缓存更久,减少重复查询,打开页面也更快一点。

实际配置示例

以某云平台 DNS 设置为例:

A    @    1.2.3.4    TTL: 3600
CNAME    www    example.com.    TTL: 86400

这里主域名 A 记录设为 1 小时,便于后续可能的调整;而 www 的 CNAME 指向稳定域名,所以用了 24 小时缓存。

别忽视本地测试的影响

有时候你改了 DNS,自己却还是访问旧地址,不是服务商没生效,而是你的电脑或路由器还存着旧记录。Windows 上可以命令行执行 ipconfig /flushdns,Mac 和 Linux 用 sudo dscacheutil -flushcachesystemd-resolve --flush-caches 清除缓存,才能看到最新效果。