使用 Blitz.io 進行測試時,NGINX 使用 100% 的伺服器 CPU

使用 Blitz.io 進行測試時,NGINX 使用 100% 的伺服器 CPU

我在這裡面臨一個問題,經過四天的環顧,我決定在這裡尋求一些幫助,畢竟一百萬個腦袋比一個人思考得更好。

我有一個 Ubuntu 14.04 伺服器設置,其中包含 NGINX、HHVM、PHP5-FPM(作為備份)、Percona MySQL、Memcached(將被 Redis 取代)。我為 WordPress 設定了 fastcgi_cache,並透過 memcached 完成了物件快取。理論上一切都很酷,但在實踐中卻並非如此。

這是一個具有 2GB RAM 的 RamNode OpenVZ SSD VPS 和一個用於我的 VPS 的兩個核心的 Intel Xeon E5。

在其上執行 Blitz.io 時,伺服器完全被兩個 NGINX 工作進程殺死,根據 top 和 htop,每個進程都使用 100% CPU。我通常按​​以下模式運行:

--pattern 999-1000:60 https://www.geeksune.com/blog/hello-world/

這使得 CPU 達到頂峰,根據 Blitz.io 的說法,結果是:

135 次命中,57,734 次錯誤和 234 次超時

顯然這不好。 RAM 使用量始終保持在 250MB 以下,並且似乎來自 Blitz.io 的所有請求都命中了緩存,如下所示:

54.232.204.19 - 點選 [23/11/2014:19:06:32 -0200]「GET / HTTP/1.1」200 7632「-」「blitz.io;[電子郵件受保護]

注意開頭的 HIT。我設定了新的日誌格式並向其中新增了 $upstream_cache_status 。

在同一台機器上的類似設定在 Blitz.io 上運作得很好,所以我的 NGINX 設定肯定有問題,它似乎與 fastcgi_cache 有關。即使只使用 PHP5-FPM 和 Zend,我每次都會得到相同的結果。

有人知道發生了什麼事嗎?我的設定檔如下所示:

提前致謝。

:)

相關內容