Apache-2.2
Ubuntu 執行 Apache Server (Prefork) PHP Fast-CGi 高 CPU 使用率
由於 CPU 使用率高,我的伺服器執行非常緩慢。我認為這一定是配置問題,但我不知道為什麼。伺服器正在執行 Plesk,我已將 PHP 配置為作為快速 CGi 應用程序執行。
伺服器規格:
Quad-Core AMD 2.2GHz 4GB RAM Ubuntu 10.04 Apache 2.2.14 PHP 5.3.2
網站:
1 x Drupal 7 2 x WordPress 3.x
阿帕奇配置:
KeepAlive On Timeout 30 MaxKeepAliveRequests 0 KeepAliveTimeout 2 <IfModule mpm_prefork_module> StartServers 4 MinSpareServers 5 MaxSpareServers 10 MaxClients 20 MaxRequestsPerChild 5000 </IfModule>
我啟用了 APC,並且 Drupal 站點已打開所有記憶體,包括視圖中的記憶體。我有另一台伺服器在 CentOS 上執行超過 100 個站點,並且 cpu 使用率非常低。有什麼想法可能導致這種情況嗎?
這是一個 mod_status 輸出截圖
除了 MaxClients 被超出之外,apache error.log 中也沒有輸出。
top
CPU 和記憶體線於 4 月 25 日添加
我的問題現在已經解決了,下面是我採取的步驟。
- 使用包括 PHP 5.5 在內的最新軟體將伺服器遷移到 Ubuntu 14 LTS
- 將 MySQL 負載拆分到自己的伺服器實例上
- 解除安裝不需要的 Drupal 模組
**注意:**以上都沒有解決我的 CPU 問題
添加來自http://www.projecthoneypot.org/的honeypot和 BOOM,CPU 負載降低到 10% 以下。所以我的問題歸結為 HTTP 垃圾郵件以每秒超過 5 個請求(每天 400,000 個)的速度在一個包含大量 SQL 查詢的頁面上進入,但仍然存在一個問題……我的網站似乎無法很好地擴展,我猜這是不是正如 Janne 建議的那樣,我必須盡可能地優化/記憶體合法流量。
感謝大家的建議。
再多的 Apache 或 PHP 調整都不會幫助您,是時候看看是什麼讓 Drupal 或 Wordpress 如此緩慢了。我猜您在其中一個或兩個中都有一些自定義模組,並且一些自定義模組正在拖累性能。嘗試一一禁用自定義模組,看看是否有幫助。還可以在您的數據庫中啟用日誌記錄並發現緩慢和/或過多的查詢。