網絡層:
到了這個級別的網站,他的用戶必定是面向全國,甚至面向全球,因此網絡的優化設計就非常重要。尤其是國內的網絡非常差,不同網絡運營商之間的互通非常差,以及骨幹網的流量目前已經成爲瓶頸。根據真實數據測試,即使網站服務器性能非常高,但相當地區的用戶體驗還是非常差,原因是花在用戶機器到服務器之間的網絡上的開銷佔據了整個網頁點擊到顯示在用戶機器上的80%以上,甚至有些達95%以上。一個網頁顯示到用戶機器上的時間花費圖如下:
http://p.blog.csdn.net/images/p_blog_csdn_net/jackem/EntryImages/20081022/HTTP_Req.jpg
主要分爲DNS解析時間,TCP網絡建立連接時間,請求URL的網絡上行時間,服務器運行URL請求時間, URL響應內容的網絡下行時間,以及響應內容在瀏覽器上的解析上顯示時間總共5個部分。
大部分架構師在設計網站的時候都主要考慮的是服務器運行URL請求時間和響應內容在瀏覽器上的解析上顯示時間 這兩個因素,往往忽略了網絡這個很重要的因素。網絡架構不好,即使上面兩塊做的再好也沒用。
而網絡優化又要分爲幾塊
1:DNS TTL
設定合適的TTL,也會影響DNS的解析時間
2:網絡流量和帶寬
數據中心必須配置足夠的帶寬,以及配置多個數據中心,使用DNS方式返回多個IP,增加網絡帶寬
3: DNS動態解析
對於不同的用戶接入網絡,使用DNS返回最接近該用戶接入網絡的IP,優化網絡路由。如用戶是杭州電信的,則返回杭州電信的IP給用戶的機器;如用戶是北京網通的,則返回北京網通的服務器IP給用戶的機器,這樣數據的傳輸就不需要經過骨幹網,直接在用戶的城域網中訪問,網絡延遲將大大降低。
4:CDN技術
對於靜態資源文件,可以在接近用戶的城域網的機房中部署服務器,這樣當用戶下載靜態資源時,直接訪問本地城域網中的服務器上的資源即可,不用通過骨幹網訪問數據中心的網絡,提高了網絡響應速度,同時也降低了數據中心的網絡帶寬
5: LoadBalance
使用DNS動態多IP功能,數據中心可配置多套LoadBalance系統,增強處理能力以及提高可靠性