我們在需要下載很多內(nèi)容的時候,很容易想到做分域名的并發(fā)下載,給原來的服務(wù)器多分幾個域名,因?yàn)榉植煌挠蛎赡芸梢栽跒g覽器中分到更多的下載進(jìn)程,提高下載速度。
但是在做網(wǎng)絡(luò)應(yīng)用的時候,我們的一個域名下面有的時候會有多個ip多臺服務(wù)器,分布在不同的機(jī)房,這個時候?yàn)g覽器會在可選的ip里面隨機(jī)的選擇一個ip。用nslookup可以看到可選的ip,用ping可以看到當(dāng)前正在實(shí)用的ip。
在多個ip的情況下,對具體的一個用戶,往往是連接到某些ip特別快,而連接到某些ip就不怎么塊。比如我現(xiàn)在有一個域名(和它的幾個分域名),在深圳訪問的時候有2個ip可以分,其中一個是深圳本地的服務(wù)器,一個是外地的服務(wù)器。這個時候如果頁面打開需要用到的關(guān)鍵資源依賴于這個域名,那么分域名有可能對速度不是提高而是有反作用。
因?yàn)檫@種情況下,慢的資源成為了瓶頸,變成是速度的決定因素。我本來有一半的機(jī)會是快的,一半的機(jī)會是慢的,如果現(xiàn)在分兩個域名去下載關(guān)鍵資源,變成有1/4的機(jī)會是兩個域名都分到深圳的服務(wù)器,可以有提高,而3/4的機(jī)會是有一個以上的域名分到外地的服務(wù)器,反而變慢了,這樣提高的是少部分人的感受,而多數(shù)人的感受沒有提升或者變的更差。如果簡單的按照yahoo的優(yōu)化建議分散到4個域名上,那么這個比例就變成1:15,更差了。
因此分域名下載不能簡單的絕對化的看待,要看實(shí)際應(yīng)用場景做決定。
但是在做網(wǎng)絡(luò)應(yīng)用的時候,我們的一個域名下面有的時候會有多個ip多臺服務(wù)器,分布在不同的機(jī)房,這個時候?yàn)g覽器會在可選的ip里面隨機(jī)的選擇一個ip。用nslookup可以看到可選的ip,用ping可以看到當(dāng)前正在實(shí)用的ip。
在多個ip的情況下,對具體的一個用戶,往往是連接到某些ip特別快,而連接到某些ip就不怎么塊。比如我現(xiàn)在有一個域名(和它的幾個分域名),在深圳訪問的時候有2個ip可以分,其中一個是深圳本地的服務(wù)器,一個是外地的服務(wù)器。這個時候如果頁面打開需要用到的關(guān)鍵資源依賴于這個域名,那么分域名有可能對速度不是提高而是有反作用。
因?yàn)檫@種情況下,慢的資源成為了瓶頸,變成是速度的決定因素。我本來有一半的機(jī)會是快的,一半的機(jī)會是慢的,如果現(xiàn)在分兩個域名去下載關(guān)鍵資源,變成有1/4的機(jī)會是兩個域名都分到深圳的服務(wù)器,可以有提高,而3/4的機(jī)會是有一個以上的域名分到外地的服務(wù)器,反而變慢了,這樣提高的是少部分人的感受,而多數(shù)人的感受沒有提升或者變的更差。如果簡單的按照yahoo的優(yōu)化建議分散到4個域名上,那么這個比例就變成1:15,更差了。
因此分域名下載不能簡單的絕對化的看待,要看實(shí)際應(yīng)用場景做決定。