2011-07-02 97 views
1

我有一個網站,並且服務器總是停機。當很多人訪問網站時,服務器變得非常慢。我正在使用PHP。 對此有何建議?如何在PHP中處理高網站流量

非常感謝。

+0

獲得更多帶寬。 – tradyblix

+1

我不認爲你會以這種方式得到答案。它太模糊,模棱兩可,只會導致更多的問題而不是答案。 – cspray

+1

如果沒有更多的信息,請按以下順序嘗試:1)找出*爲什麼*它很慢。 Google「個人資料PHP」。 2)修復很慢的代碼。 3)使用任何其他可能會加速網站的技術(緩存,CDN等)。 4)升級你的主機。 – deceze

回答

1

是 - 建議:

  • 更好的服務器
  • 更好的主機
  • 更好的代碼
  • 糟糕的含量(有助於防止人們通過訪問它取下來你的網站 - 那些該死的用戶)
  • 升級主機帳戶以允許更多帶寬/月
  • 支付服務器管理員查看您的網站/主機/服務器...等
+3

+1爲更糟糕的內容 – cwallenpoole

+0

+2爲更糟糕的內容然後。 hahahaha –

2

您可能需要緩存一些數據,而不是每次請求都擊中數據庫。數據庫通常是瓶頸。您還應該檢查您的服務器如何處理流量。您可能需要有一個更好的託管服務器。

2

這是一個意味深長的問題,但這裏有一些想法(並序可以不同,但​​其中的一些可能很明顯的問題):

  1. 完善的硬件
    • 你有足夠的內存?
    • 您是否使用多臺服務器和(多個?)負載平衡器
    • 您的連接速度如何?你需要更大的帶寬
  2. 優化你的代碼 - 有疑問時嘗試另一種方式和基準
    • 保持呼叫的數量到數據庫到最低限度。
    • 確保您(您使用的是SPL庫?)))
  3. 緩存,緩存,緩存的語言工作。如果某些事情不可能發生變化,那麼「離開它」可能會更快 - 如果您有理由相信某些HTTP請求之間會持續存在,那麼將它放在文件中可能會更快它可以通過讀取文件,包括或要求輸出,而不是作爲數據庫請求輸出XML,JSON,YAML等。
  4. 使用更快的服務器架構(lighthttpd而不是Apache)只需將其存儲爲最終形式硬盤。
  5. 編譯你Hip Hop或類似

PHP就像一張紙條,爲什麼我選擇了這個順序:
我把硬件首先是因爲這是東西是容易和明顯。如果您正在處理過時的硬件架構,並且您只有一臺服務器試圖同時處理數萬個HTTP請求,那麼硬件可能是最快,最簡單的解決方案。顯然,這不是最終的結果,我完全理解爲什麼它可以在代碼優化之下移動。

我把優化後的緩存,因爲我認爲緩存作爲一個重要的優化。基本上,足夠重要的是單獨包括,但不足以取代其合法的父母。

+1

我會改變順序:1.(大致)優化代碼,2.緩存,3.改進硬件/更改體系結構 – deceze