網站高併發大流量訪問的處理及解決方法

Java高階開發發表於2018-04-13

1.硬體升級

普通的P4伺服器一般最多能支援每天10萬獨立IP,如果訪問量比這個還要大, 那麼必須首先配置一臺更高效能的專用伺服器才能解決問題 ,否則怎麼優化都不可能徹底解決效能問題。
這裡寫圖片描述

2.負載均衡

它是根據某種負載策略把請求分發到叢集中的每一臺伺服器上,讓整個伺服器群來處理網站的請求。
公司比較有錢的,可以購買專門負責負載均衡的硬體(如:F5),效果肯定會很好。對於大部分公司,會選擇廉價有效的方法擴充套件整個系統的架構,來增加伺服器的吞吐量和處理能力,以及承載能力。

3.伺服器叢集

伺服器叢集就是指將N臺伺服器集中起來一起進行同一種服務,它們之間通過網路實現通訊。讓N臺伺服器之間相互協作,共同承載一個網站的請求壓力。
在客戶端看來就像是隻有一個伺服器。叢集可以利用多個計算機進行平行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常執行。

這裡寫圖片描述

4.資料庫讀寫分離

基本的原理是讓主資料庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從資料庫處理SELECT查詢操作。

5.資料庫分表技術(垂直分割,水平分割)

當一張的資料達到幾百萬時,你查詢一次所花的時間會變多,如果有聯合查詢的話,很有可能會死在那兒了。分表的目的就在於此,減小資料庫的負擔,縮短查詢時間。

6.表建立相應的索引

使用索引可快速訪問資料庫表中的特定資訊。

7.頁面靜態化

前臺實現完全的靜態化最好,可以完全不用訪問資料庫。

8.快取技術(MemCache、Redis)

快取技術就是另一個解決方案,就是將動態資料儲存到快取檔案中,動態網頁直接呼叫 這些檔案,而不必再訪問資料庫

9.禁止外部盜鏈

外部網站的圖片或者檔案盜鏈往往會帶來大量的負載壓力,因此應該嚴格限制外部對於自身的圖片或者檔案盜鏈

10.控制大檔案的下載

大檔案的下載會佔用很大的流量,並且對於非SCSI硬碟來說,大量檔案下載會消耗 CPU,使得網站響應能力下降。因此,儘量不要提供超過2M的大檔案下載,如果需要提供,建議將大檔案放在另外一臺伺服器上。

架構技術是程式設計師繞不開的話題,關於分散式,微服務,原始碼,框架結構,設計模式等這些技術我都分享在群697579751,可免費下載。希望可以幫助在這個行業發展的朋友和童鞋們,在論壇部落格等地方少花些時間找資料,把有限的時間,真正花在學習上,我把這些視訊分享出來。相信對於已經工作和遇到技術瓶頸的碼友,在這個群裡一定有你需要的內容。
這裡寫圖片描述

覺得小編寫的好的,請關注我!後續更新分享更多幹貨!

相關文章