减少域名dns解析时间

本文涉及的产品
.cn 域名,1个 12个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 域名解析中的TTL值设置多少合适

域名解析中的TTL值设置多少合适?
域名解析是实现域名指向IP的重要机制,而TTL值的设置对于域名解析记录结果的准确性和安全性意义明显。那么在域名解析操作中,TTL值设置多少合适呢?接下来,国科云针对这个问题做下简单介绍。

一、什么是TTL值?
TTL的全称是“Time To Live(生存时间)”,表示的是DNS记录在DNS服务器上的缓存时间。TTL值与域名解析中DNS缓存机制有着直接关系。

标准的域名解析过程是客户端发起解析请求,首先请求递归服务器,递归服务器代替客户端向根服务器、顶级服务器和权威服务器发起请求,这个环节要经过全球多级查询,如果每一次请求都按照这个流程操作,就会产生很大的延迟。

为了节省解析时间,提升解析效率,递归服务器会将首次在权威服务器请求到的解析记录缓存到自身中,保存一段时间。在这段时间内如果有访客再次对同一域名发起请求,递归服务器就会直接将DNS缓存中的结果告知客户端,而不必每次都进行全球DNS查询。这个时间就是TTL值。

二、TTL值对域名解析的影响
TTL值的大小对于域名解析的影响是十分明显的。如果TTL值太大,那么DNS缓存时间存在就很长,虽然可以在较长时间内为访客提供更快速的解析记录,然而一旦域名解析记录发生变更,DNS缓存并不能同步更新数据,就会导致在很长一段时间内,DNS缓存返回给客户端的记录是错误的原记录,从而使得用户访问到错误的站点,而攻击者也可以利用长期存在的DNS缓存发起DNS劫持攻击。

反之,如果TTL值越小,DNS缓存存活的时间就越短,递归服务器就会频繁对权威服务器发起请求,这样就保证了递归服务器可以较快速地更新最新的解析记录,从而保证解析记录的真实可靠,但这样的问题是TTL值太小,就失去了DNS缓存的存在意义,DNS解析又恢复成从根服务器到权威服务器的标准请求流程,解析时间提升,且频繁请求也对权威服务器造成较大的压力。

三、如何设置合理的TTL值?
不同的解析服务商在设置域名解析时的默认TTL值不太一样,大部分都是600秒,如果没有特殊的需求,TTL值采用默认值即可。

如果网站服务器比较稳定,很长时间都不会更换,这种情况下就可以把TTL值设置得更大些,可以让访客更快得到结果去访问。

如果网站对解析安全性和准确性要求较高,则可以将TTL值设置得尽量小些,这样就可以更及时地同步权威解析数据。

还有一种情况就是当域名DNS服务器发生变更时,可以提前24小时将TTL值调小,修改域名解析记录24小时之后,在保证解析记录全球生效后,再将TTL值按照自己的需求进行调整。

DNS解析,变快有意义吗?
有,呵呵,很多小型网站,DNS解析时间都接近0.5s,甚至我见过一个网站,需要1.2s才可以解析出结果的。这是个非常令人吃惊的数据,因为对于一般网站打开时间超过8s用户即将放弃访问,而对于电子商务网站,4s就是用户忍耐极限。而一般经过优化的小型网站,DNS解析时间都可以控制在200MS左右,而带宽在100M左右的网站,经过优化,DNS解析时间可以控制在50-100ms。

如何优化呢?
首先利用好TTL,因为要尽量多的让用户直接从运营商的DNS缓存中拿到A记录,这样才能保证最快,但是也要保证,当你的服务器出问题时,需要尽快的切换,所以,这个TTL设置也是有一些情况需要综合研究的。

1、 你肯定清楚,自己的服务器有没有多台或者备份。如无备份,那服务器宕机时,你只能生抗,所以,TTL时间对于你来说是越长越好,因为TTL短的目的是服务器发生问题时,可以及时切换,这个对于没有备份的网站基本利用不上。所以,你的TTL设置就是越长越好,当然了,也不能无限长,一般设置TTL 3600即可。

2、 如有备份或者多台服务器,会发生由于服务器宕机需要及时做切换,TTL时间越短,切换越及时,但是TTL时间越短,也就意味着运营商DNS经常缓存不住,一般用户,设置为TTL 600即可,如果对及时切换,要求特别苛刻的网站,设置TTL 120即可。

其次寻找足够热的域名解析商。很多网站,都是自己做一个域名解析服务器,看着自己掌控方便了,但是大错特错,因为你的域名解析服务器,基本上都不被缓存,每次从根服务器询问一圈,绕了大半个地球,才给出最后的结果,那自然会效果很差。所以,要寻找足够热的域名解析商。什么叫热,就是被访问的次数特别多。足够热的话,域名解析服务器的A记录基本上会被各地运营商的DNS一直缓存着。如何判断域名解析商够不够热呢?其实,也很简单,看看这个域名解析商的客户够不够多,他们客户网站够不够热门,访问的人够不够多。

也给大家推荐一个更好的方法,就是找CDN厂商做域名解析。因为CDN厂商服务的客户,有很多是很热很大用户群很多的,所以,这些CDN厂商的域名解析服务器,服务效果那是岗岗的好。

最后是进阶技巧---巧用CNAME。不少网站拥有者,在同样的一个或多个服务器上运营很多小网站;或者自己运营一个网站,但是拆分了很多个二级域名。针对这些情况,严重需要善用CNAME,把所有的这些小网站的域名或者二级域名,cname到一个自己定义的统一域名。然后设置这个cname对应的TTL时间足够长。这样的话,保证网站的第一次解析,可以直接从运营商的DNS缓存中拿到,也就是直接拿到cname后的记录。然后,第二个cname记录,再设置一个相对合理的TTL值。通过这样,变相加热了第二级域名,通过加热的第二级和缓存时间足够长的第一级,最大化的优化DNS解析时间。该技巧,一定要确保,最后A记录得到的IP,可以服务这些原始域名。

例子:

www.abc.com. 7200 IN CNAME hot.abc.com.
hot.abc.com. 600 IN A 127.0.0.1

什么叫拆分域名?
很多网站,在搭建网站的时候,只是申请和购买了一个域名,然后所有内容:图片、js、css、html、php等等,都放在一个域名下。

而拆分域名,指的就是根据不同的应用,而将域名拆分出来。

拆分域名有什么好处?
使用IE6和IE7内核的浏览器,针对同个域名,只会同时发起2个连接。
使用IE8内核的浏览器,针对同个域名,可以同时发起6个连接。

很重要吗?

非常重要,请看图示。

使用IE6打开一个所有内容均在同个域名下的网站

使用IE8打开一个所有内容均在同个域名下的网站

我们看到的是,在IE6的情况下,请求第7个元素,需要0.7s,而在IE8的情况下,0.277就开始请求第7个元素。

由此可以看到,并发连接更多的时候,网页打开速度会更快。

由以上数据可以看到,多个域名,不管是在IE6和IE8的情况下,拆分域名,都会使网站的打开速度变快。

现实中也是如此,新浪、淘宝等大型网站,他们无一不是在拆分域名。

另外,要纠正一个IT人的误区。因为IT人一般都热衷技术,很多人的操作系统等版本都很新,用的都是IE8甚至以上的浏览器。但是整个中国,到目前为止,使用IE6和IE7的用户,仍然非常另IT人震惊的80%左右。所以,拆分域名,基本上可以缩减你20%以上的打开速度。

一个简单的操作,就能带来巨大的效果提升,何乐不为?

当然了,肯定会有人问,拆分域名,那不就会导致域名热度不够,DNS缓存不住的问题吗?这个问题,请看我上一篇博文,已经给出了答案。

按照什么原则拆分域名呢?

个数多少合适?
一般50M以下网页类网站,域名保持在4、5个即可,过多后范围会导致你的维护和使用变得复杂。

100-500M以下网页类网站,域名保持在8-10个左右。

1G以上的网页类网站,域名无所谓个数,保持10个以上,具体个数根据自己的业务和管理特点随心制定。

什么内容放到同个域名下?
页面类:html、htm等

样式类:js、css等

图片类:jpg、png、gif等

动态类:php、asp等

这样的分配方式,将来有利于你进一步优化你的网站,并且在你需要寻找加速工具时,也可以针对性的选择不同的加速方式。

相关文章
|
7月前
|
域名解析 网络协议 网络安全
阿里云DNS常见问题之域名DNS完成实名认证还是锁定状态如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
7月前
|
网络协议
阿里云DNS常见问题之域名控制台DNS服务器修改为阿里云分配的DNS服务器失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
7月前
|
域名解析 缓存 监控
【域名解析 DNS 专栏】解析失败的 DNS 重试策略与配置优化
【5月更文挑战第28天】DNS解析在数字化时代关键但常遇失败,可能由网络、服务器或域名错误引起。实施智能重试策略(如指数级增长的重试间隔)和配置优化(如选用可靠DNS服务器、设置缓存、监控预警)能提高成功率和系统稳定性。示例代码展示基本DNS重试函数,强调需按业务需求调整策略并配合监控以保证高效稳定的DNS解析。
132 1
|
7月前
|
域名解析 缓存 负载均衡
【域名解析DNS专栏】DNS解析优化:减少延迟,提升用户体验
【5月更文挑战第24天】本文探讨了DNS解析优化策略,以减少延迟并提升用户体验。DNS解析涉及客户端查询、递归与迭代查询及返回结果。延迟可能源于服务器位置、负载、缓存策略和网络问题。优化措施包括使用高性能DNS服务、优化缓存、实施DNS负载均衡和预取技术。提供的HTML示例展示了DNS预取如何工作。通过评估、选择合适DNS服务、配置缓存、部署负载均衡及持续监控,可实现DNS优化,从而提高网站性能。
382 0
【域名解析DNS专栏】DNS解析优化:减少延迟,提升用户体验
阿里云机器解析域名错误 所有域名都指向了 127.0.0.1 解析卡顿
阿里云机器解析域名错误 所有域名都指向了 127.0.0.1 解析卡顿
88 0
|
7月前
|
域名解析 缓存 网络协议
阿里云DNS常见问题之二级域名解析不成功如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
7月前
|
域名解析 网络协议 应用服务中间件
阿里云DNS常见问题之域名在代理服务器上不能访问只能通过IP映射如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
7月前
|
存储 缓存 负载均衡
阿里云DNS常见问题之域名DNS跳转有问题如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
7月前
|
域名解析 弹性计算 网络协议
DNS问题之域名云解析接口关闭如何解决
DNS解析是指将人类可读的域名转换成机器可读的IP地址的过程,它是互联网访问中不可或缺的一环;本合集将介绍DNS解析的机制、类型和相关问题的解决策略,以确保域名解析的准确性和高效性。
168 1
DNS问题之域名云解析接口关闭如何解决
|
7月前
|
域名解析 弹性计算 缓存
DNS问题之无法通过域名访问如何解决
DNS服务器是负责将域名转换为IP地址的服务,它是互联网上实现域名解析的关键基础设施;本合集将探讨DNS服务器的工作原理、配置方法和常见问题处理,帮助用户理解和优化DNS服务的使用。
247 2