實現頁面靜態化


 

眾所周知,隨着網站的訪問量增加,如何給用戶以良好的訪問體驗就顯得尤為重要。提升網站性能便成為一些網站面臨的一大難題,像hao123這樣的導航網站要提升網站的性能只要部署的web服務器數量足夠就可以承載超大規模的訪問量,如果是一個動態的網站呢?例如像鳳凰新聞、網易新聞這樣的CMS系統,淘寶、京東這樣的大型購物網站由於這些網站都使用到了數據庫這也就很難做到單純的通過增加web服務器數量的方式來有效的提升網站的性能,但是這些網站並沒有出現或者說極少出現因為訪問量過大而造成頁面響應緩慢的問題。這其中有什么樣的技術手段使得這些大型的動態網站能夠有如此高的性能呢?目前提升網站性能的方法通常有HTML靜態化、圖片服務器分離、數據庫集群、負載均衡、代碼優化、壓縮JS和CSS文件等等。其中HTML靜態化的目的其實就是降低HTTP請求個數從而降低數據庫的操作從而達到提高網站運行速度,這也是一個最有效的提升網站性能的方法之一。

 

 

 

 

 

 

 

一個大型的網站,比如門戶網站,在提高網站性能時,基本的解決方案都是將HTML靜態化、圖片服務器分離、數據庫集群、負載均衡等幾個方案。其中HTML靜態化便大大降低了大量的數據庫訪問請求,在提高用戶訪問速度方面有很明顯的作用,大家都知道,效率最高、消耗最小的就是純靜態化的HTML頁面,所以我們盡可能使我們的網站上的頁面采用靜態頁面來實現,這個最簡單的方法其實也是最有效的解決方法。但是對於大量內容並且更新頻繁的網站,我們無法全部手動的去一個一個實現,於是便出現了像FreeMarker這樣的一些技術,在所有采用網頁靜態化手段的網站中,FreeMarker使用的比例大大的超過了其他的一些技術,由此可見FreeMarker在這方面的一些顯著優勢。

  對於一些門戶和信息發布類型的網站在交互性方面要求很高,對於這些網站來說盡可能的實現網頁靜態化是提高性能的必要手段,將系統的首頁、文章、社區帖子進行實時的靜態化、有更新的時候再重新靜態化也是大量使用的策略,像Mop大雜燴、網易新聞、鳳凰新聞等大型網站也都使用了這樣的策略。同時,HTML靜態化也是某些緩存策略使用的手段,對於系統中頻繁使用數據庫查詢但是內容更新很小的應用,可以考慮使用FreeMarker將HTML靜態化。比如一些網站的公用設置信息,這些信息基本都是可以通過后台來管理並存儲在數據庫中,這些信息其實會大量的被前台程序調用,每一次調用都會去查詢一次數據庫,但是這些信息的更新頻率又會很小,因此也可以考慮將這部分內容進行后台更新的時候進行靜態化,這樣就避免了大量的數據庫訪問請求,從而也就提高了網站的性能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM