對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?

當一個網站發展爲知名網站的時候(如新浪,騰訊,網易,雅虎),網站的訪問量通常都會非常大,如果使用虛擬主機的話,網站就會因爲訪問量過大而引起 服務器性能問題,這是很多人的煩惱,有人使用取消RSS等錯誤的方法來解決問題,顯然是下錯藥,那麼對於大流量的網站,需要採用什麼樣的方法來解決訪問量 問題? 解決方法參考如下:


首先,確認服務器硬件是否足夠支持當前的流量。


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


其次,優化數據庫訪問。


服務器的負載過大,一個重要的原因是CPU負荷過大,降低服務器CPU的負荷,才能夠有效打破瓶頸。而使用靜態頁面可以使得CPU的負荷最小化。前臺實現完全的靜態化當然最好,可以完全不用訪問數據庫,不過對於頻繁更新的網站,靜態化往往不能滿足某些功能。
緩存技術就是另一個解決方案,就是將動態數據存儲到緩存文件中,動態網頁直接調用這些文件,而不必再訪問數據庫,WordPress和Z-Blog都大量使用這種緩存技術。
如果確實無法避免對數據庫的訪問,那麼可以嘗試優化數據庫的查詢SQL.避免使用Select * from這樣的語句,每次查詢只返回自己需要的結果,避免短時間內的大量SQL查詢。


第三,禁止外部的盜鏈。


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


第四,控制大文件的下載。


大文件的下載會佔用很大的流量,並且對於非SCSI硬盤來說,大量文件下載會消耗CPU,使得網站響應能力下降。因此,儘量不要提供超過2M的大文件下載, 如果需要提供,建議將大文件放在另外一臺服務器上。目前有不少免費的Web 2.0網站提供圖片分享和文件分享功能,因此可以儘量將圖片和文件上傳到這些分享網站。


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


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


第六,使用流量分析統計軟件


在 網站上安裝一個流量分析統計軟件,可以即時知道哪些地方耗費了大量流量,哪些頁面需要再進行優化,因此,解決流量問題還需要進行精確的統計分析纔可以。 推薦使用的流量分析統計軟件是Google Analytics(Google分析)。這個軟件非常的不錯哦!


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