网站域名基础⑱域名缓存 性能与一致性的权衡
解析能快到几毫秒,靠的是"记性"——但记性太好,改配置就成了灾难。域名缓存是性能与一致性之间的讨价还价,主角是那个三字母参数:TTL。
缓存藏在好几层
浏览器有一份(Chrome 就有自己的 DNS 缓存),操作系统有一份(本机进程共用),递归服务器还有一大份(替全网记)。一次查询从近到远逐层找,任何一层命中,都省掉后面所有路程。
TTL:答案的保质期
每条 DNS 记录都带 TTL(Time To Live),单位秒,意思是"这条答案允许被缓存多久"。TTL 一天,全网一天不用再问权威,查询省了,但你改解析最快也要一天才传遍全网;TTL 五分钟,切换快,但权威服务器要挨更多的问。鱼和熊掌,全在这一个数上。
改解析前,我固定做的一件事
提前 24 小时把 TTL 调低到 300 秒,等全网缓存按旧 TTL 过期、大家手里都只剩"短命"答案了,再正式改记录——切换窗口从"最长一天"缩到"五分钟左右"。改完观察稳定,再放心把 TTL 调回常规值。
查不到也是一种缓存
有个反直觉的点:查一个不存在的域名,"不存在"(NXDOMAIN)这个答案本身也会被缓存一阵子,叫负缓存。刚注册的域名立刻去访问打不开、过一会儿又好了,多半就是它在捣乱——不是你配错了,是上一刻"查无此域"的结果还被记着。
别迷信 TTL=0
把 TTL 设成 0 看似随时生效,实际是让全网每台递归都来实时问权威,查询量暴涨、解析反而变慢。常规业务给几百到几千秒,是性能和灵活性的舒服区间。
缓存针对的是普通英文名字。如果名字本身就是中文呢?下一篇先说底层的那道编码转换:punycode。
本文收录于徐果萍文集《论持久站 网站域名》,徐果萍博客原创首发。
- 网站域名基础①开篇 为什么我要用一年写365篇域名
- 网站域名基础②什么是域名 从IP到人类可读的网络门牌
- 网站域名基础③域名层级结构 根、TLD、二级域与子域
- 网站域名基础④DNS是什么:一次访问背后的翻译过程
- 网站域名基础⑤根服务器与根区文件:寻址体系的基石
- 网站域名基础⑥ICANN与IANA:谁在管理全球域名
- 网站域名基础⑦域名 URL与网站:三者到底什么关系
- 网站域名基础⑧域名的唯一性与先到先得原则
- 网站域名基础⑨域名生命周期:注册、续费、到期、删除全状态
- 网站域名基础⑩域名简史上篇:从ARPANET到商业化
- 网站域名基础⑪域名简史下篇:新顶级域与全球化
- 网站域名基础⑫域名与IP地址 映射关系的本质
- 网站域名基础⑬端口、协议与域名 一次访问的三要素
- 网站域名基础⑭hosts文件 域名的本地前身
- 网站域名基础⑮局域网域名与mDNS 没有公网也能命名
- 网站域名基础⑯递归解析与迭代解析 查询的两种模式
- 网站域名基础⑰域名权威DNS与递归DNS 角色分工
- 网站域名基础⑱域名缓存 性能与一致性的权衡
- 网站域名基础⑲域名编码与punycode 非ASCII的处理
- 网站域名基础⑳国际化域名IDN 中文域名的实现
- 网站域名基础㉑域名系统的容灾设计
扫描二维码推送至手机访问。
版权声明:本文由徐果萍博客网发布,如需转载请注明出处。
本文链接:https://www.xuguoping.net/wangzhanyuming/yumingjichu_018.html

