php-fpm中进程池(pm.start_servers/pm.min_spare_servers/pm.max_spare_servers)优化

php-fpm进程池开启进程有两种方式,一种是static,即开启固定数量的php-fpm进程。另一种则是dynamic,启动时开启一定数量的php-fpm进程,当请求量变大时,动态的增加php-fpm进程数到上限,当空闲时自动释放空闲的进程数到一个下限。这两种不同的执行方式,可以根据服务器的实际需求来进行调整。

这里主要用到的一些参数,分别是pm、pm.max_children、pm.start_servers、pm.min_spare_servers和pm.max_spare_servers。

pm表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态)。

pm.max_children:静态方式下开启的php-fpm进程数量,在动态方式下他限定php-fpm的最大进程数(这里要注意pm.max_spare_servers的值只能小于等于pm.max_children)

pm.min_spare_servers:动态方式空闲状态下的最小php-fpm进程数量。

pm.max_spare_servers:动态方式空闲状态下的最大php-fpm进程数量。

pm.start_servers:动态方式下的起始php-fpm进程数量(不能低于pm.min_spare_servers值,也不能高于pm.max_spare_servers值)。

如果dm设置为static,那么其实只有pm.max_children这个参数生效。系统会开启参数设置数量的php-fpm进程。

如果dm设置为dynamic,4个参数都生效。系统会在php-fpm运行开始时启动pm.start_servers个php-fpm进程,然后根据系统的需求动态在pm.min_spare_servers和pm.max_spare_servers之间调整php-fpm进程数。

相关推荐:
在.Net下读取oracle表时报这个错,但是怎么解决呢? 首先我们看下缘由, 之前操作的oracle表数据中的Guid是用oracle自带的SYS_GUID()这个函数生成的,这种Guid值在.Net下获取会报"GUID 的字节数组长度必须正好为 16 …
1. 单击“开始”,单击“运行”,键入“regedit”,然后单击“确定” 2. 找到下面的注册表子项,然后单击它: HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Rasman\Parameters 3. 在“编辑”菜单上,单击“新建”-> …
pip类似RedHat里面的yum,安装Python包非常方便。 python -m pip install --upgrade pip …
Activity,Service等组件有些是对外开放的(manifest.xml 中 export为true或定义的intent-filter的组件是可导出组件),当这些组件传递的参数未做校验时,这些参数可能导致APP 拒绝服务。 请严格校验输入参数,注意 …
微软称这是一种进程缓存技术,有点类似安卓,看似进程驻留,但是不影响你泡新妹子的,当你运行的软件或应用需求更多的内存时会自动地释放原来那些长时间不用的驻留进程。 所以不用怕,不过呢,考虑到有洁癖的孩子。 …
拿起手机扫一扫即可带走我!