我有一个 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 的大缓冲池大小)。并识别慢查询并对其进行优化。