網(wǎng)頁(yè)效率之DNS查找和并行下載
更新時(shí)間:2008年07月25日 10:12:13 作者:
首先,一個(gè)頁(yè)面所需要訪問的域名數(shù)量為n,那么就需要n次DNS查找,而DNS查找通常是blocking call,就是說在得到結(jié)果之后才能繼續(xù),所以越多的DNS查找,反應(yīng)速度就越慢;
雅虎的YSlow插件的規(guī)則之一:Rule 9 – Reduce DNS Lookups提到:
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.
說說自己的理解:
首先,一個(gè)頁(yè)面所需要訪問的域名數(shù)量為n,那么就需要n次DNS查找,而DNS查找通常是blocking call,就是說在得到結(jié)果之后才能繼續(xù),所以越多的DNS查找,反應(yīng)速度就越慢;
其次,并行下載(parallel downloading)由兩個(gè)因素決定:到服務(wù)器的連接數(shù)量,以及每個(gè)連接內(nèi)部的流水線請(qǐng)求數(shù)量。
一個(gè)頁(yè)面里到服務(wù)器的連接數(shù)量由兩個(gè)因素決定:
頁(yè)面所需訪問的域名數(shù)量,和
瀏覽器所允許的最多連接數(shù)
后者在Mozilla/Firefox中還由瀏覽器所允許最多連接數(shù)(network.http.max-connections,缺省為24),和每個(gè)服務(wù)器所允許的最大連接數(shù)(network.http.max-connections-per-server,缺省為8)決定。如果max-connection-per-server是m,那么一個(gè)需要訪問n個(gè)不同域名的主機(jī)的頁(yè)面,最多可以有n*m個(gè)連接 - 前提是n*m小于max-connections的值;
每個(gè)連接內(nèi)部的流水線請(qǐng)求(pipelined requests)的數(shù)量也是瀏覽器的參數(shù)(Firefox上由network.http.pipelining來設(shè)置,缺省為4),前提是服務(wù)器支持persistent connection(比如在Apache設(shè)置KeepAlive為On)。之前的例子就不需要那么多的連接了(對(duì)服務(wù)器和瀏覽器來說,一個(gè)連接里多個(gè)流水線請(qǐng)求能夠比多個(gè)并行連接更好些),假設(shè)pipelining的值為p,那么就可以只使用n*m/p個(gè)連接了。(BTW,對(duì)Firefox做優(yōu)化的一些插件其實(shí)就是對(duì)上面的幾個(gè)設(shè)置做調(diào)整)
所以減少頁(yè)面內(nèi)不同hostname的數(shù)量不一定會(huì)減少并行下載的數(shù)量,也要看所需要的請(qǐng)求(css, javascript, 圖片等)的數(shù)量,因此YSlow的解釋說是potentially。
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.
說說自己的理解:
首先,一個(gè)頁(yè)面所需要訪問的域名數(shù)量為n,那么就需要n次DNS查找,而DNS查找通常是blocking call,就是說在得到結(jié)果之后才能繼續(xù),所以越多的DNS查找,反應(yīng)速度就越慢;
其次,并行下載(parallel downloading)由兩個(gè)因素決定:到服務(wù)器的連接數(shù)量,以及每個(gè)連接內(nèi)部的流水線請(qǐng)求數(shù)量。
一個(gè)頁(yè)面里到服務(wù)器的連接數(shù)量由兩個(gè)因素決定:
頁(yè)面所需訪問的域名數(shù)量,和
瀏覽器所允許的最多連接數(shù)
后者在Mozilla/Firefox中還由瀏覽器所允許最多連接數(shù)(network.http.max-connections,缺省為24),和每個(gè)服務(wù)器所允許的最大連接數(shù)(network.http.max-connections-per-server,缺省為8)決定。如果max-connection-per-server是m,那么一個(gè)需要訪問n個(gè)不同域名的主機(jī)的頁(yè)面,最多可以有n*m個(gè)連接 - 前提是n*m小于max-connections的值;
每個(gè)連接內(nèi)部的流水線請(qǐng)求(pipelined requests)的數(shù)量也是瀏覽器的參數(shù)(Firefox上由network.http.pipelining來設(shè)置,缺省為4),前提是服務(wù)器支持persistent connection(比如在Apache設(shè)置KeepAlive為On)。之前的例子就不需要那么多的連接了(對(duì)服務(wù)器和瀏覽器來說,一個(gè)連接里多個(gè)流水線請(qǐng)求能夠比多個(gè)并行連接更好些),假設(shè)pipelining的值為p,那么就可以只使用n*m/p個(gè)連接了。(BTW,對(duì)Firefox做優(yōu)化的一些插件其實(shí)就是對(duì)上面的幾個(gè)設(shè)置做調(diào)整)
所以減少頁(yè)面內(nèi)不同hostname的數(shù)量不一定會(huì)減少并行下載的數(shù)量,也要看所需要的請(qǐng)求(css, javascript, 圖片等)的數(shù)量,因此YSlow的解釋說是potentially。
相關(guān)文章
301重定向?qū)崿F(xiàn)方法,及對(duì)網(wǎng)站優(yōu)化的作用
301重定向(也叫301轉(zhuǎn)向,301跳轉(zhuǎn))對(duì)網(wǎng)站優(yōu)化所起的作用是不可忽視的,尤其是針對(duì)SE(搜索引擎)處理網(wǎng)站頁(yè)面權(quán)重的時(shí)候,更加顯得重要。網(wǎng)站換了新域名,默認(rèn)首頁(yè)需要跳轉(zhuǎn)等,從SEO角度來說,我們都建議使用301重定向,而不是JS跳轉(zhuǎn)或META REFRESH或302轉(zhuǎn)向,這些很容易引來SE的懲罰。2008-08-08網(wǎng)站優(yōu)化之提高域名信任度的幾個(gè)簡(jiǎn)單方法
相信讀者都知道,Google對(duì)域名信任度要求越來越高,甚至高到了過分的地步。不過抱怨是沒有用的,必須面對(duì)現(xiàn)實(shí)。 從總體上來說,提高域名信任度的根本方法,還是提供好的內(nèi)容,吸引其他同樣有可信度的域名鏈接向你。這兩項(xiàng)都是費(fèi)時(shí)費(fèi)力的工作,無法短時(shí)間內(nèi)做到。2008-04-04網(wǎng)站關(guān)鍵詞標(biāo)題和網(wǎng)頁(yè)描述撰寫技巧
在我們的搜索引擎優(yōu)化工 作中,可能很多朋友會(huì)遇到這樣一個(gè)問題,網(wǎng)站一些關(guān)鍵詞排名不錯(cuò),但是點(diǎn)擊訪問的不多,甚至有朋友曾調(diào)查過,發(fā)現(xiàn)有時(shí)候排名靠前的訪問量比靠后的點(diǎn)擊率更 低,有些網(wǎng)站訪問量很高,但是網(wǎng)站廣告的點(diǎn)擊率很低,產(chǎn)品銷售型網(wǎng)站也會(huì)同樣遇到這種,高訪問量,低咨詢,低成交量的問題。2008-03-03美元人民幣匯率查詢與即時(shí)美元匯率中間牌價(jià)的網(wǎng)站
美元人民幣匯率查詢與即時(shí)美元匯率中間牌價(jià)的網(wǎng)站...2007-03-03