Blitz.io でテストすると NGINX がサーバーの CPU を 100% 使用する

Blitz.io でテストすると NGINX がサーバーの CPU を 100% 使用する

私はここで問題に直面しており、4日間探し回った後、ここで助けを求めることにしました。結局のところ、100万人の頭脳は1人の頭脳よりはるかによく考えることができます。

私は、NGINX、HHVM、PHP5-FPM (バックアップとして)、Percona MySQL、Memcached (Redis に置き換えられる予定) を備えた Ubuntu 14.04 サーバーをセットアップしています。WordPress 用に fastcgi_cache をセットアップし、memcached 経由でオブジェクト キャッシュを実行しています。理論上はすべて素晴らしいのですが、実際にはそうではありません。

これは、2GB の RAM と 2 つのコアを持つ Intel Xeon E5 を搭載した RamNode OpenVZ SSD VPS です。

Blitz.io を実行すると、サーバーは 2 つの NGINX ワーカー プロセスによって完全に殺されてしまいます。top と htop によると、それぞれのプロセスが CPU を 100% 使用しています。私は通常、次のパターンで実行します。

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

これにより CPU が急上昇し、Blitz.io によるとその結果は次のようになります。

135 ヒット、57,734 エラー、234 タイムアウト

明らかに、これは良くありません。RAM 使用量は常に 250 MB 未満であり、Blitz.io からのリクエストはすべてキャッシュにヒットしているようです。次の図をご覧ください。

54.232.204.19 - ヒット [2014/11/23:19:06:32 -0200] "GET / HTTP/1.1" 200 7632 "-" "blitz.io;[メールアドレス]

先頭の HIT に注目してください。新しいログ形式を設定し、それに $upstream_cache_status を追加しました。

同じマシンで同様の設定をすると、Blitz.io でも問題なく動作します。したがって、NGINX 設定に間違いなく問題があり、fastcgi_cache に関連しているようです。Zend を使用した PHP5-FPM だけでも、毎回同じ結果が得られます。

何が起こっているのか、誰か手がかりを持っていますか? 私の設定ファイルは次のようになります:

前もって感謝します。

:)

関連情報