最佳 PHP-FPM优化配置指南

Best-PHP-FPM-Configuration-Easy-and-Simple-Calculation-750x375-1

最佳 PHP-FPM 配置 – 计算简单。PHP-FPM 是 FastCGI 进程管理器,是 PHP 的替代品。PHP-FPM 具有高度可配置性,可以为使用不同 PHP 版本等的不同用户轻松调整池设置。

在本指南中,您将学习最佳的 PHP-FPM 配置方法,使用一些简单的计算来防止下面列出的一些错误。

1. server reached pm.max_children setting, consider raising it
2. seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)

第 1 步:服务器规格

首先,记下您的服务器规格。您的 CPU 核心和 RAM 大小。

例如,在本指南中,我们假设您有 2vCPU 和 16 GB RAM。

现在,确定可以为 PHP 处理分配多少内存。我们可以假设 16 GB RAM 中大约有 10GB RAM 可以分配给 PHP 处理。

第 2 步:每个 PHP-FPM 进程消耗多少 RAM

您可以执行以下命令来查看正在运行的 PHP-FPM 进程的平均内存消耗情况。

ps -ylC php-fpm7.4 --sort:rss

将 PHP 版本替换为您的应用程序所使用的版本。

您将得到类似于下面的输出。

Screenshot-2022-06-06-at-2.27.29-PM-1024x535-1

记下RSS列下方的值。这是每个 PHP-FPM 进程使用的内存。

这里每个 PHP-FPM 子进程平均使用大约20MB RAM。

步骤 3:计算 PHP-FPM 子项的值

默认情况下,该pm值将设置为dynamic,因此您需要配置最小和最大备用服务器以及最大子服务器。

我们将pm值更改ondemand为备用服务器将根据需求自动创建。

pm = ondemand

现在我们可以根据服务器规范计算可以创建多少子进程供应用程序运行。

因为我们即将分配10GB RAM 用于 PHP-FPM 处理。通过执行上一步中的命令,我们发现每个子进程平均消耗20MB 。

PHP-FPM 可使用的最大 RAM /每个子进程消耗的 RAM = PHP-FPM 的最大子进程值

所以10000 / 20 = 500。根据您的服务器规格,您最多可以使用 500 个 PHP-FPM 子级。所以你的 PHP-FPM 配置应该是……

pm.max_children = 500

为了让 PHP-FPM 在您的服务器上顺利运行,需要调整这 2 个值。

您还可以通过取消注释 来将最大请求数配置为500pm.max_requests。如果任何第三方库中存在任何内存泄漏,这将很有用。

最终的配置应该是这样的。

pm = ondemand
pm.max_children = 500
pm.max_requests = 500

为担任Linux 操作系统的信息技术专业人员做好准备

结论

现在您已经了解了如何根据您的服务器规格通过简单的计算来配置 PHP-FPM 值。

谢谢你的时间。如果您遇到任何问题或任何反馈,请在下面发表评论。

原创文章,作者:主机说,如若转载,请注明出处:https://www.hostingtalk.cn/best-php-fpm-configuration-easy-and-simple-calculation/

error: 内容保护