1. 程式人生 > >高併發,大流量處理及解決方法

高併發,大流量處理及解決方法

第一:確認伺服器硬體是否足夠支援當前的流量。 

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

第二:優化資料庫訪問 

 前臺實現完全的靜態化當然最好,可以完全不用訪問資料庫,不過對於頻繁更新的網站,靜態化往往不能滿足某些功能。 

 快取就是另一個解決方案,就是將動態資料儲存到快取檔案中,動態網頁直接呼叫這些檔案,而不必再訪問資料庫,技術如果確實無法避免對資料庫的訪問,那麼可以嘗試優化資料庫的查詢SQL.避免使用Select * from這樣的語句,每次查詢只返回自己需要的結果,避免短時間內的大量SQL查詢。最好在相同欄位進行比較操作,在建立好的索引欄位上儘量減少函式操作,如果要做到極致的話需要程式碼的優化; 

第三,禁止外部的盜鏈。

   外部網站的或者檔案盜鏈往往會帶來大量的負載壓力,因此應該嚴格限制外部對於自身的圖片或者檔案盜鏈,好在目前可以簡單地通過refer來控制盜鏈,自己就可以通過配置來禁止盜鏈。當然,偽造refer也可以通過來實現盜鏈,不過目前蓄意偽造refer盜鏈的還不多,可以先不去考慮,或者使用非技術手段來解決,比如在圖片上增加水印。

第四,控制大檔案的下載。 

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

第五,使用不同主機分流主要流量 

   將檔案放在不同的主機上,提供不同的映象供使用者下載。比如如果覺得RSS檔案佔用流量大,那麼使用FeedBurner或者FeedSky等服務將RSS輸出放在其他主機上,這樣別人訪問的流量壓力就大多集中在FeedBurner的主機上,RSS就不佔用太多資源了。 

第六,使用流量分析統計軟體。
  在網站上一個流量分析統計軟體,可以即時知道哪些地方耗費了大量流量,哪些頁面需要再進行優化,因此,解決流量問題還需要進行精確的統計分析才可以。推薦使用的流量分析統計軟體是Analytics(Google分析)。