DNS解析优化的主要方法

简介: DNS解析优化的主要方法

如何清除DNS缓存?

在浏览器中输入下面的地址:

chrome://net-internals/#dns

同时需要清空socket池

image.png

清除系统的DNS缓存

  1. 查看Windows系统中的缓存
ipconfig /displaydns
复制代码
  1. 在windows中清除DNS缓存记录
ipconfig /flushdns
复制代码
  1. 在macOS中清除DNS缓存记录
sudo killall -HUP mDNSResponder
复制代码

如何清空缓存并进行硬刷新?

在F12的情况下,右键刷新按钮即可选择。

什么是TTL?

当我们进行域名解析设置的时候,平台总会让我们设置一个TTL时间,这个TTL时间指的就是域名对应的DNS解析记录的缓存的过期时间。如果经常更换域名指向的IP地址,可以将这个时间设置短一些,但是如果不经常更换IP地址的话,可以将这个时间设置的长一些。

DNS解析优化的主要方法

一般来说,在前端优化中与DNS有关的有两点:

  • 减少DNS的请求次数
  • 进行DNS预获取:DNS Prefetch

1. 减少DNS查找

域名系统DNS将主机名映射到IP地址,就像电话簿将人们的姓名映射到他们的电话号码中,在浏览器中输入 www.taobao.com 时,浏览器联系的DNS解析器将返回该服务器的IP地址,DNS有成本,DNS通常需要20-120毫秒来查找给定主机名的IP地址,在DNS查找完成之前,浏览器无法从该主机名下载任何内容。

缓存DNS查找以提高性能,这种缓存可以由用户的ISP或局域网维护的特殊缓存服务器上进行,但是在个别用户的计算机上也会发生缓存,DNS信息保留在操作系统的DNS缓存中,大多数浏览器都有自己的缓存,与操作系统的缓存分开,只要浏览器将DNS记录保留在自己的缓存中,它就不会对操作系统的记录请求进行干扰。

默认情况下Chrome会缓存1分钟的DNS查找。

当客户端中的DNS缓存为空时(浏览器和操作系统都为空),DNS查找的次数和页面中主机名的数量相同。这其中包括页面中URL、图片、脚本文件、样式表、Flash对象等包含的主机名。减少主机名的数量可以减少DNS查找次数。

减少主机名的数量还可以减少页面中并行下载的数量,减少DNS查找次数可以节省响应时间,但是减少并行下载却会增加响应时间。

2. DNS预获取

DNS-prefetch(DNS预获取)是尝试在请求资源之前解析域名,这可能是后面要加载的文件,也可能是用户尝试打开的链接目标。域名解析和内容载入时串行的网络操作,所以这个方式能减少用户的等待时间,提升用户体验。

DNS-prefetch可以帮助开发人员掩盖DNS解析延迟。HTML的link元素通过dns-prefetch的rel属性值提供此功能,然后再href属性中指要跨域的域名。

每当站点引用跨域资源的时候,都应在head元素中放置dns-prefetch提示,但是要记住下面的注意事项。

  1. DNS-prefetch仅对跨域的DNS查找有效。
  2. dns-prefetch要谨慎使用,多页面重复DNS预解析会增加DNS查询次数。
  3. 默认情况下浏览器会对页面中和当前域名不在同一个域的域名进行预获取,并且缓存结果,这就是隐式的DNS Prefetch。如果想对页面中没有出现的域进行获取,那么就要使用显示的DNS Prefetch了。
  4. 虽然使用DNS Prefetch能够加快页面的解析速度,但是也不能滥用,因为有开发者指出禁用DNS预获取能节省每月100亿的DNS查询。

3. 延长DNS缓存时间

4. 尽可能使用A记录代替CNAME

5. 使用CDN加速域名

相关文章
|
14天前
|
SQL 分布式计算 监控
Sqoop数据迁移工具使用与优化技巧:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入解析Sqoop的使用、优化及面试策略。内容涵盖Sqoop基础,包括安装配置、命令行操作、与Hadoop生态集成和连接器配置。讨论数据迁移优化技巧,如数据切分、压缩编码、转换过滤及性能监控。此外,还涉及面试中对Sqoop与其他ETL工具的对比、实际项目挑战及未来发展趋势的讨论。通过代码示例展示了从MySQL到HDFS的数据迁移。本文旨在帮助读者在面试中展现Sqoop技术实力。
27 2
|
1天前
|
分布式计算 网络协议 Hadoop
|
4天前
|
SQL 分布式计算 资源调度
一文解析 ODPS SQL 任务优化方法原理
本文重点尝试从ODPS SQL的逻辑执行计划和Logview中的执行计划出发,分析日常数据研发过程中各种优化方法背后的原理,覆盖了部分调优方法的分析,从知道怎么优化,到为什么这样优化,以及还能怎样优化。
|
4天前
并发编程之Callable方法的详细解析(带小案例)
并发编程之Callable方法的详细解析(带小案例)
11 0
|
21天前
|
负载均衡 算法 Linux
深度解析:Linux内核调度器的演变与优化策略
【4月更文挑战第5天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分——内核调度器。文章将首先回顾Linux内核调度器的发展历程,从早期的简单轮转调度(Round Robin)到现代的完全公平调度器(Completely Fair Scheduler, CFS)。接着,分析当前CFS面临的挑战以及社区提出的各种优化方案,最后提出未来可能的发展趋势和研究方向。通过本文,读者将对Linux调度器的原理、实现及其优化有一个全面的认识。
|
23天前
|
存储 缓存 监控
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
|
23天前
|
存储 算法
从动态规划到贪心算法:最长递增子序列问题的方法全解析
从动态规划到贪心算法:最长递增子序列问题的方法全解析
20 2
|
29天前
|
域名解析 弹性计算 网络协议
阿里云DNS常见问题之确认域名是否在Private zone解析失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
29天前
|
域名解析 缓存 网络协议
阿里云DNS常见问题之新购域名阿里云DNS无法解析如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
30天前
|
算法 项目管理 开发者
【Conan 入门教程 】深入解析Conan中的依赖关系的定义方法(In-depth Analysis of Dependency Definition Methods in Conan)
【Conan 入门教程 】深入解析Conan中的依赖关系的定义方法(In-depth Analysis of Dependency Definition Methods in Conan)
38 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多