美文网首页php
php-fpm进程分配

php-fpm进程分配

作者: Super淳语 | 来源:发表于2021-05-09 13:22 被阅读0次
在fasgcgi模式下,php会启动多个php-fpm进程,来接收nginx发来的请求,那是不是进程越多,速度就越快呢?这可不一定!得根据我们的机器配置和业务量来决定。

我们先来看下,设定进程的配置在哪里?

pm = static | dynamic | ondemand
pm可以设置成这样3种,我们用的最多的就上前面2种。

pm = static 模式
pm = static 表示我们创建的php-fpm子进程数量是固定的,那么就只有pm.max_children = 50这个参数生效。你启动php-fpm的时候就会一起全部启动51(1个主+50个子)个进程,颇为壮观。

pm = dynamic 模式
pm = dynamic模式,表示启动进程是动态分配的,随着请求量动态变化的。他由 pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers 这几个参数共同决定。

上面已经讲过,这里再重申一下吧:

pm.max_children = 50 是最大可创建的子进程的数量。必须设置。这里表示最多只能50个子进程。

pm.start_servers = 20 随着php-fpm一起启动时创建的子进程数目。默认值:min_spare_servers + (max_spare_servers - min_spare_servers) / 2。这里表示,一起启动会有20个子进程。

pm.min_spare_servers = 10 
设置服务器空闲时最小php-fpm进程数量。必须设置。如果空闲的时候,会检查如果少于10个,就会启动几个来补上。

pm.max_spare_servers = 30 
设置服务器空闲时最大php-fpm进程数量。必须设置。如果空闲时,会检查进程数,多于30个了,就会关闭几个,达到30个的状态。

到底选择static还数dynamic?
很多人恐惧症来袭,不知道选什么好?

一般原则是:动态适合小内存机器,灵活分配进程,省内存。静态适用于大内存机器,动态创建回收进程对服务器资源也是一种消耗。

如果你的内存很大,有8-20G,按照一个php-fpm进程20M算,100个就2G内存了,那就可以开启static模式。如果你的内存很小,比如才256M,那就要小心设置了,因为你的机器里面的其他的进程也算需要占用内存的,所以设置成dynamic是最好的,比如:pm.max_chindren = 8, 占用内存160M左右,而且可以随时变化,对于一半访问量的网站足够了。


相关文章

  • php-fpm进程分配

  • php sleep()函数使用注意事项

    php代码的执行是单线程的,php使用php-fpm(Fastcgi 进程管理器) 负责进程的分配和管理,如果ph...

  • php-fpm解读-进程管理的三种模式

    《我是程序媛》系列——php-fpm进程管理,感谢大表哥亲情赞助时间,读了php-fpm源码。 php-fpm进程...

  • php-fpm

    php-fpm说明 php-fpm是FastCGI的实现,并提供进程管理的功能。进程包括master进程和work...

  • php-fpm占用内存过高分析

    1、查看php-fpm的进程个数 2、查看每个php-fpm占用的内存大小 3、查看单个php-fpm进程消耗内存...

  • php-fpm配置详解

    参考: 官网配置参数介绍 以下比较详细的php-fpm.conf配置详解: 一些重要的设置 php-fpm进程分配...

  • php-fpm

    php-fpm cpu 高排查思路 解决思路 解决思路 设置控制php-fpm进程池进程数量。 开启慢日志 编辑p...

  • php-fpm的pool、php-fpm慢执行日志、open_b

    目录 一、php-fpm的pool二、php-fpm慢执行日志三、open_basedir四、php-fpm进程管...

  • nginx配置和php-fpm重启

    php-fpm常见操作:最粗暴的重启php-fpm的方式:找到php-fpm的进程号,kill 掉,再用/usr/...

  • 调试使用总结

    一、查看php-fpm/php-cgi进程数ps -ef | grep php-fpm | grep pool |...

网友评论

    本文标题:php-fpm进程分配

    本文链接:https://www.haomeiwen.com/subject/hdimdltx.html