Apache-2.4

中等流量導致 wordpress 伺服器需要硬重啟

  • October 9, 2015

在發送電子郵件後,我們的 rackspace wordpress 伺服器因中等流量而出現故障。

伺服器規格如下:

CPU            2 vCPUs
RAM            2 GB
System Disk   80 GB
Network      240 Mb / s
Disk I/O    Good

跑步:

Centos       7.0
Wordpress  4.3.1
Httpd      2.4.6
PHP       5.4.11
MariaDB   5.5.41

據我所知,安裝都是相當標準的,數據庫非常標準,索引並且相當小。我們也是 wordpress 對象記憶體。

根據新遺物;在正常流量期間,網站大約 80% 的時間花在 PHP 上,15% 的時間花在 Web 外部,只有一小部分時間花在數據庫上。平均標準頁面應用程序時間約為 800 毫秒,這對我來說確實很慢。

在 1 分鐘內執行 250 個連接的負載測試會導致連接花費的時間逐漸變長,然後在大約 30 分鐘後開始超時,並且伺服器變得無響應(即使流量減少了)。它需要硬重啟才能再次啟動。

我無法使用膩子進行連接,首頁在超時和返回可怕的“建立數據庫連接時出錯”之間搖擺不定。

在最近的測試中使用機架空間監控代理,CPU 似乎在死亡前達到了 100% 的最大值,使用的記憶體達到了大約 1.6GB 的峰值,而免費下降到大約 100MB。看起來也使用了大約 2GB 的交換記憶體(總共 4GB)。標準使用似乎是大約 15% 的 CPU、800MB 記憶體和 400MB 交換空間。

我們的 Apache 配置沒有設置以下任何內容(沒有文件在/etc做);超時、KeepAlive、MaxKeepAliveRequests、KeepAliveTimeout;所以我猜它正在使用預設值。

我查看了 mariadb 設置:

innodb_buffer_pool_size = 1400M
max_user_connections = 0

這似乎不是原因。

我也打開了 performance_schema,但我真的不知道我在找什麼。我什至不確定數據庫是問題所在。

我很想升級實例,但我寧願更清楚地了解瓶頸在哪里以及導致伺服器當機的原因,而不是放慢速度。

關於從哪裡開始的任何想法?那裡似乎有很多可能的調整和大量資訊。

在任何類型的事件期間密切監控都是至關重要的。正如我們所見,真相浮出水面:

在最近的測試中使用機架空間監控代理,CPU 似乎在死亡前達到了 100% 的最大值,使用的記憶體達到了大約 1.6GB 的峰值,而免費下降到大約 100MB。看起來也使用了大約 2GB 的交換記憶體(總共 4GB)。標準使用似乎是大約 15% 的 CPU、800MB 記憶體和 400MB 交換空間。

眾所周知,PHP 佔用大量 CPU。您已經使用了所有可用的 CPU 和幾乎所有可用的 RAM。

您應該首先採取措施來處理它,例如操作碼記憶體(例如 Zend OPcache)和文件記憶體(例如 W3 Total Cache WordPress 外掛)。如果這些都沒有足夠的幫助,那麼是時候升級實例了。

引用自:https://serverfault.com/questions/727625