【多線程與併發】網站的併發,大流量訪問怎解決?

一、HTML頁面靜態化

訪問頻率較高但內容變動較小,使用網站HTML靜態化方案來優化訪問速度。將社區內的帖子、文章進行實時的靜態化,有更新的時候再重新靜態化也是大量使用的策略 。

優勢:

  1. 減輕服務器負擔;
  2. 加快頁面打開速度,靜態頁面無需訪問數據庫,打開速度較動態頁面有明顯提高;
  3. 很多搜索引擎都會優先收錄靜態頁面,不僅被收錄的快,還收錄的全,容易被搜索引擎找到;
  4. HTML靜態頁面不會受程序相關漏洞的影響,減少攻擊,提高安全性。

二、圖片服務器和應用服務器相分離

現在很多網站都會用到大量圖片,而圖片是網頁傳輸中佔主要的數據量,也是影響網站性能的主要因素。因此很多網站都會將圖片存儲從網站中分離出來,另外架構一個或多個服務器來存儲圖片,將圖片放到一個虛擬目錄中,而網頁上的圖片都用一個URL地址來指向這些服務器上的圖片的地址,這樣的話網站的性能就明顯提高了。

優勢:

  1. 分擔Web服務器的I/O負載,將耗費資源的圖片服務分離出來,提高服務器的性能和穩定性;
  2. 能夠專門對圖片服務器進行優化-爲圖片服務設置有針對性的緩存方案,減少帶寬成本,提高訪問速度。
  3. 提高網站的可擴展性-通過增加圖片服務器,提高圖片吞吐能力。

三、數據庫

  1. 優化查詢
  2. 主從複製、讀寫分離、負載均衡
  3. 分區、分庫、分表

四、緩存

儘量使用緩存,包括用戶緩存,信息緩存等,多花點內存來做緩存,可以大量減少與數據庫的交互,提高性能。

假如我們能減少數據庫頻繁的訪問,那對系統肯定大大有利的。比如一個電子商務系統的商品搜索,如果某個關鍵字的商品經常被搜,那就可以考慮這部分商品列表存放到緩存(內存中去),這樣不用每次訪問數據庫,性能大大增加。

五、鏡像

鏡像是冗餘的一種類型,一個磁盤上的數據與另一個磁盤上存在一個完全相同的副本即爲鏡像。

六、負載均衡

在網站高併發訪問的場景下,使用負載均衡技術(負載均衡服務器)爲一個應用構建一個由多臺服務器組成的服務器集羣,將併發訪問請求分發到多臺服務器上處理,避免單一服務器因負載壓力過大而響應緩慢,使用戶請求具有更好的響應延遲特性。

七、併發控制

加鎖,如樂觀鎖和悲觀鎖

八、消息隊列

通過mq一個一個排隊方式,跟12306一樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章