<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>朱俊独立博客 &#187; 域名解析</title>
	<atom:link href="http://www.zhujun.org/tag/%e5%9f%9f%e5%90%8d%e8%a7%a3%e6%9e%90/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zhujun.org</link>
	<description>邪恶获得胜利的唯一条件，就是善良的人们保持沉默。</description>
	<lastBuildDate>Sun, 05 Feb 2012 06:34:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>如何缩短网站域名的DNS解析时间</title>
		<link>http://www.zhujun.org/web/how-to-improve-dns-resolution-time/</link>
		<comments>http://www.zhujun.org/web/how-to-improve-dns-resolution-time/#comments</comments>
		<pubDate>Wed, 05 May 2010 15:04:16 +0000</pubDate>
		<dc:creator>朱俊</dc:creator>
				<category><![CDATA[网络开发]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[域名解析]]></category>

		<guid isPermaLink="false">http://www.zhujun.org/?p=175</guid>
		<description><![CDATA[介绍了DNS(Domain Name System)的相关知识，讲述了普通站长缩短网站域名的DNS解析时间的方法,来提高访客打开网站的速度。]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2010/04/dns-resolution-time.gif" alt="DNS 解析时间" /></p>
<p class="b4list">如上图所示，普通用户打开一个网页的时间主要由四部分组成：</p>
<ol>
<li>网站域名通过 DNS 服务器解析到IP地址的时间</li>
<li>通过IP地址和服务器建立HTTP连接的时间</li>
<li>服务器接受连接请求后进行计算的时间</li>
<li>网页内容通过HTTP协议传输到用户的时间</li>
</ol>
<p>在上图中，DNS域名解析时间占了整个访问时间的1/3强，严重拖慢了用户打开网页的速度。</p>
<p>作为一个站长，一定希望自己网站的打开速度足够快，以免访问者因为失去耐心而关闭浏览器。<br />
本文将介绍如何缩短网站域名的DNS解析时间，来让访问者更快的打开你的网站。<br />
<span id="more-175"></span></p>
<h3>一、域名的DNS解析过程</h3>
<p class="b4list">将一个域名解析成IP地址，主要由以下几个步骤：</p>
<ol>
<li>将域名解析请求发送给本地的域名服务器 (DNS Server) 。</li>
<li>域名服务器 (DNS Server) 收到请求后,先查询本地缓存,如果有该域名的纪录项,则直接返回目标IP地址。</li>
<li>如果本地缓存中没有,则直接发送请求给根域名服务器 (Root Name Server) 。<br />
根域名服务器 (Root Name Server) 返回给本地域名服务器 (DNS Server) 一个所查询域的主域名服务器 (gTLD Server) 地址。</li>
<li>本地域名服务器 (DNS Server) 再向上一步返回的 TLD 服务器发送请求。<br />
接受请求的 TLD 服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器 (Name Server) 的地址。</li>
<li>正常情况下 Name Server 会有相应的记录，并返回给 DNS Server 。</li>
<li>本地 DNS Server 根据域名的TTL值，把返回的结果保存到缓存,同时将解析结果返回给客户机。</li>
</ol>
<h3>二、缩短域名的DNS解析时间</h3>
<p>知道了域名的DNS解析过程，就可以采取相应的措施，缩短解析时间，我们所能影响和选择的方面主要包括缓存、本地DNS Server和域名的Name Server。</p>
<h4>1、增加域名的缓存命中率</h4>
<p>如果访问者访问网站时，域名在本机或当地的DNS Server缓存中，则可以大大加快该域名的解析时间。</p>
<p class="b4list">以下方法可以增加域名在DNS Server中的缓存命中率：</p>
<ul>
<li>提高网站的访问量。<br />
网站的访问量越高，意味着网站域名被请求解析的次数越多，则该域名被DNS Server缓存的几率就越大。</li>
<li>增加域名A记录和CName的TTL (Time-To-Live) 值。<br />
TTL就是一条域名解析记录在DNS Server中的存留时间和过期时间。增大TTL值可以让DNS Server缓存该域名更长时间，增加缓存的命中率。TTL一般默认为一小时，可以根据实际情况设为一天甚至一周以上。<br />
当然，如果你域名的IP经常变化，则TTL不应过大，否则各地的DNS Server会暂时无法获得新的正确的IP地址。</li>
</ul>
<p>下图是两个网站采用相同服务器、相同IP、相同网页内容，不同的TTL值在同一天内的监控结果。<br />
<img src="/wp-content/uploads/2010/04/ttl-1-hour.gif" alt="域名TTL为1小时" /></p>
<div style="text-align: center;">图一：TTL设为一小时</div>
<p><img src="/wp-content/uploads/2010/04/ttl-1-week.gif" alt="域名TTL为1周" /></p>
<div style="text-align: center;">图二：TTL设为一周</div>
<p>可以注意到，图二中域名DNS解析所花的时间可以忽略不计，这就是域名A记录TTL时间长，增加了缓存的命中率带来的加速效果。</p>
<h4>2、选择更快的本地DNS Server</h4>
<p>一般而言，我们无法决定用户使用何种DNS Server，大部分初级用户使用的是本地ISP自动获取的DNS Server，部分用户则使用第三方DNS Server比如Open DNS或者Google DNS。</p>
<p>不过你可以建议你的用户使用Google DNS (8.8.8.8 和8.8.4.4)，该DNS Server会比电信或网通自动获取的DNS Server快许多。</p>
<h4>3、选择更快的域名Name Server</h4>
<p>在域名的whois信息中，我们可以看到域名的Name Server，不同的Name Server有不同的域名管理面板用来管理A记录和CName等信息。<br />
由于一般的站长无法在全世界建立Name Server的镜像，所以我们只能选择离目标访客物理距离近的Name Server以加快访客的解析速度。<br />
比如你的网站主要浏览量来自中国，则你的Name Server最好也在中国境内，最好是电信和网通双线的。如果你的网站主要浏览量来自美国，则你可以用Godaddy的Name Server。</p>
<p>不过近年来宫信步势大，大量域名都转移至了国外，而国内缺少免费、稳定的第三方Name Server，使得这个问题很难解决。Godaddy的免费Name Server，国内解析起来实在很慢，也许我们可以期待无所不能的Google将来提供免费的Name Server给我们。</p>
<h3>三、结论</h3>
<p>本文通过理解域名的DNS解析过程，选择我们所能影响的因素，采取对应且免费的措施来加快域名的DNS解析时间，使得访客有更快的打开速度和更好的用户体验。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zhujun.org/web/how-to-improve-dns-resolution-time/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
	</channel>
</rss>

