中等流量導致 wordpress 伺服器需要硬重啟
在發送電子郵件後,我們的 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 外掛)。如果這些都沒有足夠的幫助,那麼是時候升級實例了。