NGINX在使用Blitz.io进行testing时使用100%的服务器CPU

我在这里遇到了一个问题,经过四天的考察,我决定在这里寻求一些帮助,毕竟一百万人的头脑比一个人想得更好。

我有一个与NGINX,HHVM,PHP5-FPM(作为备份),Percona MySQL,Memcached(将由Redis取代)的Ubuntu 14.04服务器设置。 我有fastcgi_cache设置为WordPress和对象caching完成通过memcached。 从理论上来说,这一切都很酷,但并不是在实践中。

这是一款带有2GB内存的RamNode OpenVZ SSD VPS和一个带有两个内核的Intel Xeon E5。

在其上运行Blitz.io,服务器正在被两个NGINX工作进程彻底谋杀,每个进程使用100%CPU根据top和htop。 我通常运行以下模式:

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

这使得CPU走向屋顶,根据Blitz.io这是这样的结果:

135个命中57,734个错误和234个时间

显然这不好。 内存使用一直保持在250MB以下,似乎所有来自Blitz.io的请求都在caching中,如下所示:

54.232.204.19 – HIT [23 / Nov / 2014:19:06:32 -0200]“GET / HTTP / 1.1”200 7632“ – ”“blitz.io; [email protected]

注意开始时的HIT。 我设置了一个新的日志格式,并添加了$ upstream_cache_status。

在同一台机器上的一个类似的设置工作与Blitz.io很好,所以肯定是我的NGINX设置有问题,它似乎与fastcgi_cache相关。 每次我都有同样的结果,即使只有Zend的PHP5-FPM。

有没有人知道发生了什么? 我的configuration文件如下所示:

  • /etc/nginx/nginx.conf – http://paste.ubuntu.com/9236266/
  • /etc/nginx/sites-available/geeksune.com – http://paste.ubuntu.com/9236282/
  • /etc/nginx/conf.d/includes/ssl.inc – http://paste.ubuntu.com/9236298/
  • /etc/nginx/conf.d/includes/security.inc – http://paste.ubuntu.com/9236321/
  • /etc/nginx/conf.d/includes/caching.inc – http://paste.ubuntu.com/9236353/
  • /etc/nginx/conf.d/includes/locations.inc – http://paste.ubuntu.com/9236366/

提前致谢。

🙂