如何确定 php-fpm pm.max_requests 的最佳设置?

如何确定 php-fpm pm.max_requests 的最佳设置?

我不是系统/网络管理员。我正在寻找一种正确确定 php-fpm 设置的方法。

到目前为止,我发现这篇文章解释了根据服务器规格计算这些设置的细节(https://chrismoore.ca/2018/10/finding-the-correct-pm-max-children-settings-for-php-fpm/):

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

但这里有一个设置pm.max_requests,所以我想知道我应该在这里放什么值?我如何确定我应该在那里放什么值?我应该将其保留为默认值 0 吗?

答案1

这里唯一可能的答案是没有确切的答案。

这确实取决于具体情况。性能设置完全取决于每个用例、规格、项目结构等。


只有当您有理由时才应在此处设置值。

如果您不关心每个进程在重新启动之前可以获得多少个请求,那么您应该将其保留为默认设置。

不仅仅是 PHP-FPM,各种应用程序中的大多数设置都是如此。


来自文档:

pm.max_requests

每个子进程在重生之前应执行的请求数。这对于解决第三方库中的内存泄漏问题很有用。对于无休止的请求处理,请指定“0”。相当于PHP_FCGI_MAX_REQUESTS。默认值:0。

所以,问问自己:您是否遇到了内存泄漏、连接挂起等问题?如果是,也许这个功能对您有用。如果没有,也许就别管它了。

我用一个比喻来总结:虽然你有一个装满工具的车间,但这并不意味着你需要每项工作所需的每项工具。只有在需要解决问题时才需要配置此设置。

相关内容