網站加速最佳實踐 – 減少DNS查詢

TIB發表於2010-01-28

參考: http://developer.yahoo.com/performance/rules.html#dns_lookups

 

DNS 就像電話本,根據電話本查詢指定網站的 IP 地址。查詢一次 DNS 一般需要 20-120 毫秒。

 

The Domain Name System (DNS) maps hostnames to IP addresses, just as phonebooks map people's names to their phone numbers. When you type www.yahoo.com into your browser, a DNS resolver contacted by the browser returns that server's IP address. DNS has a cost. It typically takes 20-120 milliseconds for DNS to lookup the IP address for a given hostname. The browser can't download anything from this hostname until the DNS lookup is completed.


 

DNS快取可以提高效能。DNS快取可以發生在快取伺服器上,由ISP或本地區域網維持。在個人計算機的作業系統中也有DNS資訊快取。還有,大部分的瀏覽器都有自己的DNS快取。


DNS lookups are cached for better performance. This caching can occur on a special caching server, maintained by the user's ISP or local area network, but there is also caching that occurs on the individual user's computer. The DNS information remains in the operating system's DNS cache (the "DNS Client service" on Microsoft Windows). Most browsers have their own caches, separate from the operating system's cache. As long as the browser keeps a DNS record in its own cache, it doesn't bother the operating system with a request for the record.

 

IE瀏覽器預設保持DNS快取30分鐘,Firefox預設保持1分鐘,Fasterfox保持1小時。


Internet Explorer caches DNS lookups for 30 minutes by default, as specified by the DnsCacheTimeout registry setting. Firefox caches DNS lookups for 1 minute, controlled by the network.dnsCacheExpiration configuration setting. (Fasterfox changes this to 1 hour.)

When the client's DNS cache is empty (for both the browser and the operating system), the number of DNS lookups is equal to the number of unique hostnames in the web page. This includes the hostnames used in the page's URL, images, script files, stylesheets, Flash objects, etc. Reducing the number of unique hostnames reduces the number of DNS lookups .

 

 

減少DNS查詢可以縮短響應時間,但是減少了併發下載可能導致響應時間增加。


Reducing the number of unique hostnames has the potential to reduce the amount of parallel downloading that takes place in the page. Avoiding DNS lookups cuts response times, but reducing parallel downloads may increase response times. My guideline is to split these components across at least two but no more than four hostnames. This results in a good compromise between reducing DNS lookups and allowing a high degree of parallel downloads.

 

相關文章