淺談大型網站訪問速度優(yōu)化策略
原創(chuàng)【51CTO專稿】網站訪問速度快慢直接影響公司和用戶利益,其重要性不言而喻,本文中,58同城運維主管陸文舉分享了近期在優(yōu)化網站訪問速度時積累的一些經驗,希望給各位運維人員帶來一些幫助。
(58同城運維主管 陸文舉)
背景:隨著業(yè)務快速增長,面對每天上億PV的訪問量,網站整體加載服務/程序越來越多,導致網站整體訪問性能下降。
目標:優(yōu)化網站訪問速度,做到行業(yè)***!
在做網站訪問速度優(yōu)化之前,一定要對當前數(shù)據(jù)做一定分析,了解哪些元素、服務、業(yè)務影響當前網站整體速度,在后期優(yōu)化過程中,可以一邊優(yōu)化一邊與優(yōu)化前數(shù)據(jù)做對比。在數(shù)據(jù)采集和分析方面,推薦使用基調、博睿這種第三方檢測工具,這樣可以保證數(shù)據(jù)真實可靠,還可以看到歷史數(shù)據(jù)。具體的優(yōu)化策略請看以下三個方面的介紹:
一、CDN至上
CDN原理在此不再累述?,F(xiàn)在稍微有點規(guī)模的web站點,大多數(shù)都會使用CDN,有針對靜態(tài)的,有針對動態(tài)的,還有針對視頻流的;在CDN建設上也多種多樣,有自建的,有第三方的(比如網宿、藍訊)。優(yōu)化過程中需要注意的問題如下:
- 靜態(tài)資源盡量全部放入CDN,如jpg/png、js/css、swf
- 使用基調檢測任務,檢測是否有跨運營商訪問情況
- 自定義腳本,實時檢測各CDN節(jié)點是否出現(xiàn)time_out、50X錯誤
- 對比訪問及源站access日志,提高緩存命中率
- 增加max-age時間
- 壓縮靜態(tài)資源
二、域名拆分
在域名使用上,也有很多值得注意的地方,我們針對自己的實際情況做了以下方面的改進:
1、使用獨立域名,如網站為bj.58.com,那圖片服務將使用58cdn.com.cn,這么做的好處是隔離cookie,減少了通信流量,提升了網站訪問速度;
2、拆分域名,比如原download.58.com可以拆分成dl1.58cdn.com.cn-dl4.58cdn.com.cn四個域名。拆分多個域名的好處是突破IE低版本并發(fā)連接數(shù)限制。在域名拆分時并不是拆分的越多越好,因為隨著域名增多,DNS請求時間和服務器建立連接時間都逐漸會增加,所以一定要緊密結合自身業(yè)務。
三、優(yōu)化第三方服務
何為第三方服務呢?我是這么理解的,比如bj.58.com這個域名,它下面所有非bj.58.com開頭的域名鏈接,都可以定義為第三方服務。如公司內部的其它系統(tǒng)、第三方公司的統(tǒng)計/廣告系統(tǒng)等等。隨著業(yè)務發(fā)展,接入的第三方服務越來越多,一個核心業(yè)務頁面約100-200個元素中,有近五分之二的元素是第三方公司的,面對第三方服務,我們不能直接保障可用性,所以只能以監(jiān)控、督促的手段來解決。所以我們把這一部分作為重點優(yōu)化目標。下面舉個真實發(fā)生過的例子給大家看看:
有一次接到客服反饋,北京某地產中介訪問bj.58.com發(fā)布租房信息時打開網站出現(xiàn)卡死情況。因當時該用戶無法使用IM工具,再加上用于在北京,我便直接去用戶那了,到用戶那通過Chrome的開發(fā)者工具加載網站時發(fā)現(xiàn)該頁面調用了一個第三方鏈接,這個鏈接經常會出現(xiàn)訪問超時、加載緩慢現(xiàn)象。后來回公司經確認,該鏈接為剛上線的某第三方熱點統(tǒng)計工具,用于統(tǒng)計用戶行為,由于我們網站訪問量較大,第三方公司扛不住這么大訪問量,所以頻繁超時,導致用戶訪問我們的網站時出現(xiàn)卡死現(xiàn)象。所以,第三方服務可用性不容忽視。另外,我們針對第三方服務也做了一些優(yōu)化和改進:
1、加強監(jiān)測頻率,在監(jiān)測工具上,我們使用基調作為質量監(jiān)測工具,數(shù)據(jù)真實可靠有保障。監(jiān)測頻率上由原兩小時調整為每小時/每半小時監(jiān)測一次;
2、導出基調原始監(jiān)測數(shù)據(jù),自定義定時分析,該數(shù)據(jù)中包含網頁所有元素錯誤信息。導出數(shù)據(jù)后做出篩選及排序,選取監(jiān)測任務中所錯誤率***的前30個URL,然后把這些錯誤URL定時發(fā)送到業(yè)務人員郵箱。
總結
其實,網站訪問性能是一種意識,平時對網站上一切元素做變更的時候,多考慮一下這方面的問題能為網站性能帶來直接的利益;如2010年團購、秒殺盛行時,某銀行舉辦手機秒殺活動,更新時間時每秒都將整個頁面刷新,這么做的后果不僅使網站訪問速度變慢,***該網站也因不堪重負導致無法訪問。
【作者簡介】
姓名 | 陸文舉(@陸文舉) |
職位 | 58同城 運維主管 |
技術特長 | 大規(guī)模web運維 |
關注方向 | 運維自動化、可視化 |