php-fpm进程处理HTTP请求,因此服务器通常打开多个PHP-FPM进程。打开它多少合适?
为了解决这个问题,我们逐步
PM:也就是说,流程管理器,过程管理器如何控制子过程的数量,需要填写项目,支持3个值,如下所述:
静态:使用固定子过程的数量,指定以下参数
动态:根据系统的需求,基于以下参数的子处理的数量是动态调整的
ondemand:启动时请勿创建子过程,并在新请求到达时创建。将使用以下两个参数:
提示:上面的参数配置位置在PHP安装目录中。如果我的位置是:此文件在文件中默认。
查看PHP-FPM流程的数量
检查PHP-FPM占用的内存大小
检查机器上PHP-FPM的平均内存占用
检查单个PHP-FPM过程的详细信息记忆消耗
PHP-FPM子处理的数量越好吗?
当然不是,PM.Max_Chindren,还有更多的流程,增加了流程管理开销和上下文切换开销。如何设置它取决于您的代码。如果计算了很多,则比较CPU,PM.MAX_CHINDREN不能超过CPU的核心;本质
就过程数量而言,有一些技术可以提供公式。让我们首先看一些变量:
适合动态的公式为:
适合静态的公式为:
当然,在Statis方法中还有另一种更安全的方法。首先将max_childnren设置为一个相对较大的值,在一段时间内稳定操作后,观察php-fpm状态中的最大活动过程,然后配置max_children,而不是它。另一个博客文章中的流程
发生内存泄漏,因此我们需要限制每个子过程服务的请求数,以防止无限的内存泄漏。设置以下参数: