1.減少 HTTP 請求數(shù):一個頁面中包含的圖片,JS,css等每一個資源都會生成一個 HTTP 下載請求,由瀏覽器發(fā)向網(wǎng)站服務(wù)器,如果減少這個請求數(shù),會縮短網(wǎng)絡(luò)傳輸?shù)臅r間。
另外圖片盡量采用壓縮格式的,例如 jpg 就屬于一種壓縮圖片格式,bmp屬于無壓縮無失真圖片。這個需要網(wǎng)頁/網(wǎng)站設(shè)計人員綜合考慮這個因素。
優(yōu)點:縮短網(wǎng)絡(luò)傳輸事件,網(wǎng)絡(luò)傳輸量小,減少服務(wù)器端負載;
缺點:減少HTTP請求,有時候無法滿足網(wǎng)站發(fā)布信息的需求,盜鏈的出現(xiàn)也會增加HTTP請求;
2、采用緩存技術(shù)(webcache):這個是目前網(wǎng)站加速最主要的方式。如果利用代理/緩存加速服務(wù)器去實現(xiàn)的話,網(wǎng)站在不需要做任何改動的情況下,就可實現(xiàn)大跨度的實現(xiàn)加速效果。實現(xiàn)的基本方式為:將指定的網(wǎng)站頁面周期性的緩存起來,緩存時間可從幾秒到幾天,在緩存時間內(nèi),頁面只需要生成一次,以后有用戶訪問這個頁面的時候,網(wǎng)站服務(wù)器和數(shù)據(jù)庫就不再需要重新生成相同的頁面了,極大的減少了網(wǎng)站服務(wù)器和數(shù)據(jù)庫負荷。我們做個簡單的對比,假設(shè)一個新聞熱點頁面,在一個小時可被訪問1萬次,如果這個新聞頁面每次被訪問的時候,都會通過讀取數(shù)據(jù)庫后再一遍一遍的編譯生成,在一個小時內(nèi)將會重復(fù)性的生成1萬次;如果這個頁面被周期性的緩存10分鐘,也就是每間隔10分鐘才會被生成一次,一個小時內(nèi)只會被生成6次,如果兩種方式一對比,效果就超級明顯,兩種比較下服務(wù)器負荷的壓力比差別1000倍以上,緩存技術(shù)將使得網(wǎng)站負載在高峰期游刃有余。Fikker網(wǎng)站加速軟件實際上是一款代理服務(wù)器軟件,通過Fikker網(wǎng)站加速服務(wù)器提供的頁面緩存(webcache)功能,將需要緩存的網(wǎng)站URL配置到頁面緩存中(支持正則表達式,通配符和精確地址匹配),并設(shè)定一定的緩存時間(幾秒到幾天),不需要重啟Fikker立即生效,如果有重要頁面變動,可通過清理緩存將指定的緩存頁面清理出去。
優(yōu)點:網(wǎng)站不需要做任何改動,大幅減少服務(wù)器和數(shù)據(jù)庫的負荷。
3、使用gzip壓縮:頁面壓縮主要是降低傳輸尺寸,提高傳輸效率。常用的 html,asp,php,jsp,txt,css,js等文本頁面,通過gzip壓縮可降低75%左右尺寸,也就是原來需要傳輸 100KB 的頁面,gzip壓縮后只需要 25KB 的傳輸數(shù)據(jù)了,加速的效果是非常明顯的。Fikker內(nèi)置了gzip模塊,自動對壓縮的文件壓面進行壓縮傳輸。
4、使用非阻塞網(wǎng)絡(luò)技術(shù)(non-block):提高網(wǎng)絡(luò)響應(yīng)速度,linux 從 2.6 內(nèi)核開始,專門引入 epoll 事件機制,相對于傳統(tǒng)的 select 事件機制,效率大大的增強,尤其在高并發(fā)情況下越發(fā)的明顯,幾個線程即可并發(fā)支持上萬并發(fā)連接,使用盡量少的線程除了減少內(nèi)存開支還可減少頻繁的線程切換的開銷。Fikker軟件的Linux版本全面支持epoll事件機制,支持從連接建立到連接結(jié)束,從域名解析開始到結(jié)束的全非阻塞網(wǎng)絡(luò)設(shè)計。
5、提高帶寬,加速頁面?zhèn)鬏敚豪脦捈铀俜绞匠S檬荂DN,通過CDN運營商的網(wǎng)絡(luò)將頁面分發(fā)出去,用戶訪問時可就從最近的節(jié)點獲取,達到加速目的。但這里面有一個前提,就是需要頁面是靜態(tài)的,或動態(tài)頁面首先需要被生成出來,然后才能利用 CDN 的高速網(wǎng)絡(luò)傳輸出去,從這個角度理解,CDN 與緩存加速具有很強的互補性,即利用緩存技術(shù)加快頁面生成,利用CDN加快傳輸,缺一不可。