DDR爱好者之家 Design By 杰米
什么是TTL

TTL是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。

其他不再赘述,发挥二的性格,我们直奔主题。

用户打开网站的整个流程中,DNS解析时第一环,当用户输入域名并敲回车后,windows系统调用DNS client,寻找到用户配置或者自动分配的DNS IP,之后就开始整个解析过程。

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打开一个所有内容均在同个域名下的网站

让网站打开更快 减少域名dns解析时间(TTL多大比较好)

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

让网站打开更快 减少域名dns解析时间(TTL多大比较好)

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

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

让网站打开更快 减少域名dns解析时间(TTL多大比较好)

由以上数据可以看到,多个域名,不管是在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等

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

作者:王康

文章来源:xmw2.blog.chinaunix.net

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?