常用WEB網站緩存方法

1.減少 HTTP 請求數:一個頁面中包含的圖片,JS,CSS等每一個資源都會生成一個 HTTP 下載請求,由瀏覽器發向網站服務器,如果減少這個請求數,會縮短網絡傳輸的時間。

另外圖片儘量採用壓縮格式的,例如 jpg 就屬於一種壓縮圖片格式,bmp屬於無壓縮無失真圖片。這個需要網頁/網站設計人員綜合考慮這個因素。

優點:縮短網絡傳輸事件,網絡傳輸量小,減少服務器端負載;
缺點:減少HTTP請求,有時候無法滿足網站發佈信息的需求,盜鏈的出現也會增加HTTP請求;

2、採用緩存技術(webcache):這個是目前網站加速最主要的方式。如果利用代理/緩存加速服務器去實現的話,網站在不需要做任何改動的情況下,就可實現大跨度的實現加速效果。實現的基本方式為:將指定的網站頁面週期性的緩存起來,緩存時間可從幾秒到幾天,在緩存時間內,頁面只需要生成一次,以後有用戶訪問這個頁面的時候,網站服務器和數據庫就不再需要重新生成相同的頁面了,極大的減少了網站服務器和數據庫負荷。我們做個簡單的對比,假設一個新聞熱點頁面,在一個小時可被訪問1萬次,如果這個新聞頁面每次被訪問的時候,都會通過讀取數據庫後再一遍一遍的編譯生成,在一個小時內將會重複性的生成1萬次;如果這個頁面被週期性的緩存10分鐘,也就是每間隔10分鐘才會被生成一次,一個小時內只會被生成6次,如果兩種方式一對比,效果就超級明顯,兩種比較下服務器負荷的壓力比差別1000倍以上,緩存技術將使得網站負載在高峰期遊刃有餘。Fikker網站加速軟件實際上是一款代理服務器軟件,通過Fikker網站加速服務器提供的頁面緩存(webcache)功能,將需要緩存的網站URL配置到頁面緩存中(支持正則表達式,通配符和精確地址匹配),並設定一定的緩存時間(幾秒到幾天),不需要重啟Fikker立即生效,如果有重要頁面變動,可通過清理緩存將指定的緩存頁面清理出去。

優點:網站不需要做任何改動,大幅減少服務器和數據庫的負荷。

3、使用gzip壓縮:頁面壓縮主要是降低傳輸尺寸,提高傳輸效率。常用的 html,asp,php,jsp,txt,css,js等文本頁面,通過gzip壓縮可降低75%左右尺寸,也就是原來需要傳輸 100KB 的頁面,gzip壓縮後只需要 25KB 的傳輸數據了,加速的效果是非常明顯的。Fikker內置了gzip模塊,自動對壓縮的文件壓面進行壓縮傳輸。

4、使用非阻塞網絡技術(non-block):提高網絡響應速度,Linux 從 2.6 內核開始,專門引入 epoll 事件機制,相對於傳統的 select 事件機制,效率大大的增強,尤其在高併發情況下越發的明顯,幾個線程即可併發支持上萬併發連接,使用盡量少的線程除了減少內存開支還可減少頻繁的線程切換的開銷。Fikker軟件的Linux版本全面支持epoll事件機制,支持從連接建立到連接結束,從域名解析開始到結束的全非阻塞網絡設計。


5、提高帶寬,加速頁面傳輸:利用帶寬加速方式常用是CDN,通過CDN運營商的網絡將頁面分發出去,用戶訪問時可就從最近的節點獲取,達到加速目的。但這裡面有一個前提,就是需要頁面是靜態的,或動態頁面首先需要被生成出來,然後才能利用 CDN 的高速網絡傳輸出去,從這個角度理解,CDN 與緩存加速具有很強的互補性,即利用緩存技術加快頁面生成,利用CDN加快傳輸,缺一不可。


分享到:


相關文章: