Linux網(wǎng)站架構系列之a(chǎn)pache----調(diào)優(yōu)篇
十八、盡可能減少HTTP請求數(shù)
http請求是要開銷的,想辦法減少請求數(shù)自然可以提高網(wǎng)頁速度。常用的方法,合并css,js(將一個頁面中的css和js文件分別合并)以及Imagemaps和csssprites等。當然或許將css,js文件拆分成多個是因為css結構,共用等方面的考慮。阿里巴巴中文站當時的做法是開發(fā)時依然分開開發(fā),然后在后臺對js,css進行合并,這樣對于游覽器來說依然是一個請求,但是開發(fā)時仍然能還原成多個,方便管理和重復引用。yahoo甚至建議將首頁的css和js直接寫在頁面文件里面,而不是外部引用。因為首頁的訪問量太大了,這么做可以減少兩個請求數(shù)。而事實上國內(nèi)的很多門戶都是這么做的。
其中csssprites是指只用將頁面上的背景圖合并成一張,然后通過css的background-position屬性定義不過的值來取他的背景。淘寶和阿里巴巴中文站目前都是這樣做的。這是個工具網(wǎng)站,它可以自動將你上傳的圖片合并,并給出對應的background-position坐標。并將結果以png和gif的格式輸出。
十九、使用CDN做網(wǎng)站加速
簡單地說,就是通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡架構,將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的緩存服務器內(nèi)。通過DNS負載均衡的技術,判斷用戶來源就近訪問cache服務器取得所需的內(nèi)容,杭州的用戶訪問接近杭州服務器上的內(nèi)容,北京訪問接近北京服務器上的內(nèi)容。這樣可以有效減少數(shù)據(jù)在網(wǎng)絡上傳輸?shù)氖录?,提高速度。把靜態(tài)內(nèi)容發(fā)布到CDN減少了用戶影響時間20%或更多。
CDN技術示意圖:
國內(nèi)有名的CND公司:網(wǎng)宿,藍汛(chinacache),快網(wǎng)
二十、apache網(wǎng)站架構優(yōu)化
好的網(wǎng)站架構是網(wǎng)站性能強大關鍵,更是網(wǎng)站安全的關鍵。
在生產(chǎn)環(huán)境中建議將程序頁面服務器、圖片附件服務器和上傳服務器三者的功能盡量分離。
那么如何實現(xiàn)分離呢?
1、分離最佳方式是分別使用獨立的服務器(需要程序支持)
2、次選方案在前端負載均衡器通過haproxy/nginx來根據(jù)用戶請求的目錄或擴展名來對后端的服務器發(fā)出請求。
例如:請求就拋給圖片服務器(CDN最好),這里是根據(jù)擴展名.jpg分發(fā)
請求就拋給上傳服務器(CDN最好),這里是根據(jù)URL路徑分發(fā)
均不符合上面兩個要求的,默認就都是拋給web服務器。
評論