微调 Nginx 和 PHP FPM

微调 Nginx 和 PHP FPM

我有一个 Ubuntu droplet,内容如下:

  • 16GB 内存
  • 8 个 CPU

我正在运行 nginx 和 PHP FPM,但似乎没有充分利用我的服务器。我的 CPU 使用率和内存使用率都在 10% 左右,即使流量密集时服务器也会挂起。

nginx总结:

  • worker_processes(工作进程):8
  • worker_connections: 6000
  • epoll 已启用
  • multi_accept 已开启
  • 已启用 gzip 并且已启用 keep-alive

php-fpm总结:

在我的 www.conf 文件中:

  • 下午:动态
  • 下午.最大子节点数: 1600
  • 下午.启动服务器: 75
  • pm.min_spare_servers: 75
  • pm.max_spare_servers: 90

其余一切都使用默认设置。

哦,我的 ulimit 设置为 99999,并且 PHP 的 opcache 已启用。

是否有任何清单可以帮助人们确保他们正在微调 nginx 和 php-fpm 以充分利用服务器的资源?

答案1

该配置看起来合适。您可以尝试增加和减少 PHP-FPM 进程数(目前上限为 1600)——有时增加并不一定更好,因为这些进程所做的事情可能会在高并发性的情况下遇到性能问题。尝试将其降低到 100,看看效果如何。它不一定会限制可以同时处理的连接数,因为其他连接仍将保持打开状态并排队等待处理。

但话虽如此,我不认为这是你的问题。最有可能的简单事实是你的 I/O 受限,这意味着你的数据库或文件访问是瓶颈。如果你正在使用数据库,请查看数据库的配置。如果有足够的 RAM,请确保它有足够的缓冲区大小来完成它必须做的事情(例如,对于 InnoDB,给它一个可能几 GB 的大缓冲池大小)。并识别慢查询并对其进行优化。

相关内容