php5-fpm秒杀,configuration错误?

最近我上传了一些更改到我的服务器,增加了对服务器的AJAX调用的数量。

“牢度”的应用程序减less了很多。 Web服务器是带有php5-fpm模块的nginx

如果我在服务器控制台上运行“top”命令,我看到:

  • 在5到8个php5-fpm进程中,占用CPU使用率的70-80%

configuration是:(只是有意义的部分)

/etc/nginx/nginx.conf

worker_processes 8; events{ worker_connections 1024; multi_accept off; } http{ sendfile on; keepalive_timeout 30; tcp_nodelay off; client_max_body_size 64m; gzip on; } 

/etc/php5/fpm/pool.d/www.conf

 pm = dynamic pm.max_children = 10 pm.start_servers = 3 pm.min_spare_servers = 2 pm.max_spare_servers = 4 pm.process_idle_timeout = 5s; pm.max_requests = 400 

服务器规格:

  • 24Gb的RAM
  • 至强8内核

你怎么看待这个问题? 它是由服务器configuration不是最佳的? 你build议这个服务器有什么configuration?

有了24 GB的RAM,你应该增加这些设置

 pm.max_children pm.start_servers pm.min_spare_servers pm.max_spare_servers 

到更为理智的服务器。 你目前的设置是“在家玩”的设置。

例如,请参阅“调整PHP5-FPM” ,并进行math计算。 我的猜测是从数字乘以10左右开始。

无论如何,你的PHP应用程序可能仍然是线性的CPU绑定,而不是工人绑定,调优无助于事。