PHP如何解決網站大流量與高並發的問題

來源:互聯網
上載者:User

首先,確認伺服器硬體是否足夠支援當前的流量。

普通的P4伺服器一般最多能支援每天10萬獨立IP,如果訪問量比這個還要大,
那麼必須首先配置一台更高效能的專用伺服器才能解決問題

,否則怎麼最佳化都不可能徹底解決效能問題。

其次,最佳化資料庫訪問。

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

緩衝技術就是另一個解決方案,就是將動態資料儲存到快取檔案中,動態網頁直接調用
這些檔案,而不必再訪問資料庫,WordPress和Z-Blog都大量使用這種緩衝技術。我
自己也寫過一個Z-Blog的計數器外掛程式,也是基於這樣的原理。

如果確實無法避免對資料庫的訪問,那麼可以嘗試最佳化資料庫的查詢SQL.避免使用
Select * from這樣的語句,每次查詢只返回自己需要的結果,避免短時間內的大
量SQL查詢。

第三,禁止外部的盜鏈。

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

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

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

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

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

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

在網站上安裝一個流量分析統計軟體,可以即時知道哪些地方耗費了大量流量,哪些頁
面需要再進行最佳化,因此,解決流量問題還需要進行精確的統計分析才可以。我推薦使
用的流量分析統計軟體是Google Analytics(Google分析)。我使用過程中感覺其
效果非常不錯,稍後我將詳細介紹一下Google Analytics的一些使用常識和技巧。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.