网站域名基础⑱域名缓存 性能与一致性的权衡

网站域名⑱域名基础 域名缓存 性能与一致性的权衡

解析能快到几毫秒,靠的是"记性"——但记性太好,改配置就成了灾难。域名缓存是性能与一致性之间的讨价还价,主角是那个三字母参数:TTL。

缓存藏在好几层

浏览器有一份(Chrome 就有自己的 DNS 缓存),操作系统有一份(本机进程共用),递归服务器还有一大份(替全网记)。一次查询从近到远逐层找,任何一层命中,都省掉后面所有路程。

TTL:答案的保质期

每条 DNS 记录都带 TTL(Time To Live),单位秒,意思是"这条答案允许被缓存多久"。TTL 一天,全网一天不用再问权威,查询省了,但你改解析最快也要一天才传遍全网;TTL 五分钟,切换快,但权威服务器要挨更多的问。鱼和熊掌,全在这一个数上。

改解析前,我固定做的一件事

提前 24 小时把 TTL 调低到 300 秒,等全网缓存按旧 TTL 过期、大家手里都只剩"短命"答案了,再正式改记录——切换窗口从"最长一天"缩到"五分钟左右"。改完观察稳定,再放心把 TTL 调回常规值。

查不到也是一种缓存

有个反直觉的点:查一个不存在的域名,"不存在"(NXDOMAIN)这个答案本身也会被缓存一阵子,叫负缓存。刚注册的域名立刻去访问打不开、过一会儿又好了,多半就是它在捣乱——不是你配错了,是上一刻"查无此域"的结果还被记着。

别迷信 TTL=0

把 TTL 设成 0 看似随时生效,实际是让全网每台递归都来实时问权威,查询量暴涨、解析反而变慢。常规业务给几百到几千秒,是性能和灵活性的舒服区间。

缓存针对的是普通英文名字。如果名字本身就是中文呢?下一篇先说底层的那道编码转换:punycode。

本文收录于徐果萍文集《论持久站 网站域名》,徐果萍博客原创首发。

延伸阅读

域名基础
  1. 网站域名基础①开篇 为什么我要用一年写365篇域名
  2. 网站域名基础②什么是域名 从IP到人类可读的网络门牌
  3. 网站域名基础③域名层级结构 根、TLD、二级域与子域
  4. 网站域名基础④DNS是什么:一次访问背后的翻译过程
  5. 网站域名基础⑤根服务器与根区文件:寻址体系的基石
  6. 网站域名基础⑥ICANN与IANA:谁在管理全球域名
  7. 网站域名基础⑦域名 URL与网站:三者到底什么关系
  8. 网站域名基础⑧域名的唯一性与先到先得原则
  9. 网站域名基础⑨域名生命周期:注册、续费、到期、删除全状态
  10. 网站域名基础⑩域名简史上篇:从ARPANET到商业化
  11. 网站域名基础⑪域名简史下篇:新顶级域与全球化
  12. 网站域名基础⑫域名与IP地址 映射关系的本质
  13. 网站域名基础⑬端口、协议与域名 一次访问的三要素
  14. 网站域名基础⑭hosts文件 域名的本地前身
  15. 网站域名基础⑮局域网域名与mDNS 没有公网也能命名
  16. 网站域名基础⑯递归解析与迭代解析 查询的两种模式
  17. 网站域名基础⑰域名权威DNS与递归DNS 角色分工
  18. 网站域名基础⑱域名缓存 性能与一致性的权衡
  19. 网站域名基础⑲域名编码与punycode 非ASCII的处理
  20. 网站域名基础⑳国际化域名IDN 中文域名的实现
  21. 网站域名基础㉑域名系统的容灾设计
  22. 网站域名基础㉒域名与负载均衡 流量分发的入口
  23. 网站域名基础㉓域名在邮件系统中的核心作用
  24. 网站域名基础㉔域名与API网关 服务调用的寻址
  25. 网站域名基础㉕域名与物联网 设备如何被命名
  26. 网站域名基础㉖去中心化域名 ENS与Handshake探秘
  27. 网站域名基础㉗域名治理中的主权与争议
  28. 网站域名基础㉘各国域名管理体系差异
  29. 网站域名基础㉙读懂域名相关的关键RFC
  30. 网站域名基础㉚域名术语表上篇基础概念
  31. 网站域名基础㉛域名术语表下篇进阶概念
🤝AI 创作等级:协奏 · DUET

扫描二维码推送至手机访问。

版权声明:本文由徐果萍博客网发布,如需转载请注明出处。

本文链接:https://www.xuguoping.net/wangzhanyuming/yumingjichu_018.html

分享给朋友: