怎麼解決網站的大流量訪問
硬體升級
普通的P4伺服器一般最多能支援每天10萬獨立IP,如果訪問量比這個還要大, 那麼必須首先配置一臺更高效能的專用伺服器才能解決問題,否則怎麼優化都不可能徹底解決效能問題。
負載均衡
它是根據某種負載策略把請求分發到叢集中的每一臺伺服器上,讓整個伺服器群來處理網站的請求。
公司比較有錢的,可以購買專門負責負載均衡的硬體(如:F5),效果肯定會很好。對於大部分公司,會選擇廉價有效的方法擴充套件整個系統的架構,來增加伺服器的吞吐量和處理能力,以及承載能力。
伺服器叢集
伺服器叢集就是指將N臺伺服器集中起來一起進行同一種服務,它們之間通過網路實現通訊。讓N臺伺服器之間相互協作,共同承載一個網站的請求壓力。
在客戶端看來就像是隻有一個伺服器。叢集可以利用多個計算機進行平行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常執行。
資料庫讀寫分離
基本的原理是讓主資料庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從資料庫處理SELECT查詢操作。
資料庫分表技術(垂直分割,水平分割)
當一張表的資料達到幾百萬時,你查詢一次所花的時間會變多,如果有聯合查詢的話,很有可能會死在那兒了。分表的目的就在於此,減小資料庫的負擔,縮短查詢時間。
表建立相應的索引
使用索引可快速訪問資料庫表中的特定資訊。
頁面靜態化
前臺實現完全的靜態化最好,可以完全不用訪問資料庫。
快取技術(MemCache、Redis)
快取技術就是另一個解決方案,就是將動態資料儲存到快取檔案中,動態網頁直接呼叫 這些檔案,而不必再訪問資料庫
禁止外部盜鏈
外部網站的圖片或者檔案盜鏈往往會帶來大量的負載壓力,因此應該嚴格限制外部對於自身的圖片或者檔案盜鏈
控制大檔案的下載
大檔案的下載會佔用很大的流量,並且對於非SCSI硬碟來說,大量檔案下載會消耗 CPU,使得網站響應能力下降。因此,儘量不要提供超過2M的大檔案下載,如果需要提供,建議將大檔案放在專門的伺服器上。
使用流量分析統計軟體。
在網站上一個流量分析統計軟體,可以即時知道哪些地方耗費了大量流量,哪些頁面需要再進行優化,因此,解決流量問題還需要進行精確的統計分析才可以。我推薦使用的流量分析統計軟體是Analytics(Google分析)。