PHP工作模式

php-fpm的3种工作模式

1.dynamic(动态模式)
2.ondemand
3.static 静态模式

这里着重说一下 dynamic 和 ondemand 模式。

先来解释几个参数:

pm.start_servers 动态模式下是开始时的进程数。
pm.min_spare_servers 闲置状态时最小进程数
pm.max_spare_servers 闲置状态时最大进程数
pm.max_children 最大进程数
pm.process_idle_timeout 进程超过时间会被杀掉,单位为s.
1
2
3
4
5
dynamic是动态的, 系统默认选项, 系统为了最大优化服务器响应的模式
ondemand 特点是 不会有闲置进程,每个进程超过了process_idle_timeout就会被kill掉。

下面做了一个ab压力测试做2个实验

  1. 先用dynamic和ondemand模式看下max_children的参数。
    max_children 为默认35 如下图
    max_children 设置为8 如下图

                  max_children的作用是限制最大进程数。
    

1
在这里插入图片描述
图1在这里插入图片描述

  1. 接着用ondemand模式和dynamic模式下的不同处。
    1>. 执行 ab测试。
    ab -c 20 -n 1000 http://xxx/

2>. ps -ef|grep php
dynamic max_spare_servers 设为 16 ,process_idle_timeout设为12 。下图1
ondemand max_spare_servers 设为 16,process_idle_timeout设为12 。下图2

dynamic
在这里插入图片描述
可以说明 在并发量稍大的情况下, dynamic模式下,测试结束后,仍有max_spare_servers个限制进程。ondemand模式下, 只剩master进程。

在高并发请求时,比如场景为秒杀的情况下。 dynamic模式在高峰期后会很很多闲置进程造成了浪费。 而ondemand则会因为时间限制,对某些响应时间长的进程会资源支持不到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值