php-fpm 进程池优化方法

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(动态)。

下面4个参数的意思分别为:

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

如果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进程数。

要求pm.start_servers的值在pm.min_spare_servers和pm.max_spare_servers之间。

最新文章

  1. svn: Can't convert string from 'UTF-8' to native encoding 的解决办法(转)
  2. AX 与Citrix打印机问题
  3. 如何设置table中<tr>和<td>的高度
  4. Linux优化之IO子系统监控与调优
  5. nand flash 和nor flash 区别
  6. zeromq源码分析笔记之线程间收发命令(2)
  7. SQL Server 对象
  8. How to find variable is empty in shell script
  9. HTTP服务简介
  10. python + django + echart 构建中型项目
  11. dev 控件的treelist
  12. 第二阶段第六次spring会议
  13. 「CodeForces - 598B」Queries on a String
  14. Python 语言来编码和解码 JSON 对象
  15. mysql错误集合
  16. jeesite 下载ckfinder上传的文件
  17. 难以接受你的改变:从project.json到.csproj
  18. Android ListView的使用(一)
  19. java验证码工具
  20. HDU 1517 A Multiplication Game (博弈)

热门文章

  1. Java冒泡排序与快速排序笔记
  2. NEST 多IndexType与分页
  3. 使用MySQL命令行备份和恢复数据库
  4. MySQL JOIN 连接时,条件为以逗号分隔的字段与 ID 相匹配
  5. 造成thrift 编译构建项目失败的原因之一:thrift环境变量没设置
  6. 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用
  7. 使用Kerberos进行Hadoop认证
  8. PTA-多项式A除以B
  9. 用js刷剑指offer(把数组排成最小的数)
  10. Codeforces J. A Simple Task(多棵线段树)