`
Tzhennan
  • 浏览: 58131 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

 
阅读更多

php-fpm进程管理一共有三种模式:ondemand、static、dynamic

 

ondemand

在php-fpm启动的时候,不会给这个pool启动任何一个worker,是按需启动,当有连接过来才会启动。

优缺点

优点:按流量需求创建,不浪费系统资源(在硬件如此便宜的时代,这个优点略显鸡肋)

缺点:由于php-fpm是短连接的,所以每次请求都会先建立连接,建立连接的过程必然会触发上图的执行步骤,所以,在大流量的系统上master进程会变得繁忙,占用系统cpu资源,不适合大流量环境的部署

 

dynamic

在php-fpm启动时,会初始启动一些worker,在运行过程中动态调整worker数量,worker的数量受限于pm.max_children配置,同时受限全局配置process.max

 

优缺点

优点:动态扩容,不浪费系统资源,master进程设置的1秒定时器对系统的影响忽略不计;

缺点:如果所有worker都在工作,新的请求到来只能等待master在1秒定时器内再新建一个worker,这时可能最长等待1s;

 

static

php-fpm启动采用固定大小数量的worker,在运行期间也不会扩容,虽然也有1秒的定时器,仅限于统计一些状态信息,例如空闲worker个数,活动worker个数,网络连接队列长度等信息。

 

分享到:
评论

相关推荐

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

    它提供了三种进程管理模式:ondemand、static和dynamic,每种模式都有其特定的适用场景和优缺点。 ### ondemand(按需启动) 在ondemand模式下,PHP-FPM在启动时不创建任何worker进程,而是当有新的连接请求到来时...

    php-fpm.tar.gz

    《PHP-FPM:高效管理PHP进程的利器》 PHP-FPM,全称为“PHP FastCGI Process Manager”,是PHP的一个重要组件,专为管理和优化PHP应用程序的FastCGI进程而设计。在本篇中,我们将深入探讨PHP-FPM的含义、功能以及...

    php-fpm.conf配置文件中文翻译注释

    PHP-FPM是PHP的一个扩展,它提供了更高效、更灵活的PHP进程管理方式,使得Nginx等Web服务器可以通过FastCGI接口与PHP交互。以下是对`php-fpm.conf`配置文件中主要选项的中文翻译和注释: 1. **[global]**:全局设置...

    nginx+php-fpm模式php内存泄漏探究1

    描述中提到了一个实际案例,即一个PHP-FPM进程占用2GB内存,而实际上在php.ini配置文件中,`memory_limit`被设定为256MB。这引发了关于PHP-FPM生命周期和内存管理的讨论。 Nginx通过fork出多个子进程(worker)来...

    PHP-FPM 调优:使用 ‘pm static’ 来最大化你的服务器负载能力1

    ### PHP-FPM 的进程管理模式 1. **pm = dynamic**: 动态模式下,PHP-FPM 根据 `pm.max_children`, `pm.start_servers`, `pm.min_spare_servers` 和 `pm.max_spare_servers` 设置动态创建和销毁子进程。这种模式...

    深入php-fpm的两种进程管理模式详解

    php-fpm的两种进程管理模式php-fpm的进程数也是可以根据设置分为动态和静态的。一种是直接开启指定数量的php-fpm进程,不再增加或者减少;另一种则是开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态...

    LAMP+php-fpm服务器+php7.16

    首先,创建了名为php的用户和用户组,以便于管理和隔离php-fpm进程。然后,下载并编译安装了libiconv、libmcrypt、mhash和mcrypt库,它们是PHP进行字符编码转换和加密操作所必需的。特别是libmcrypt和mcrypt,它们...

    php-fpm中文文档.pdf

    5. PHP-FPM支持在“graceful”模式下重启或终止工作进程,以避免处理中的请求被突然中断。 6. PHP-FPM的Worker进程在处理完请求后会输出特定的错误头部信息。另外,在php.ini文件中可以设置fastcgi.error_header来...

    php5.2.17版本和PHP5.2.17 fpm补丁

    PHP-FPM (FastCGI 进程管理器) 是 PHP 的一种扩展,它允许 PHP 以 FastCGI 方式运行,提高了性能和稳定性。在 Linux 上,特别是与 Nginx 配合时,PHP-FPM 是必要的,因为 Nginx 不直接处理 PHP 脚本,而是通过 ...

    php-fpm中max_children的配置

    这个选项是标识fpm子进程的产生模式: static :表示在fpm运行时直接fork出pm.max_chindren个worker进程 dynamic:表示,运行时fork出start_servers个进程,随着负载的情况,动态的调整,最多不超过max_children个...

    Nginx + PHP-FPM + APC=绝妙的组合

    在互联网服务领域,Nginx、PHP-FPM(PHP FastCGI Process Manager)和 Alternative PHP Cache (APC) 的结合已经成为一种高效的Web服务器配置模式,尤其适用于高流量网站。这种组合能够优化PHP的性能,降低资源消耗,...

    Nginx+PHP-FPM+APC=绝妙的组合.pdf

    使用基准测试工具如ab或wrk进行压力测试,观察性能变化,并根据实际情况调整配置参数,如Nginx的工作模式、连接数限制,以及PHP-FPM的进程管理策略等。 通过以上步骤,你可以构建出一个高效、稳定的Nginx+...

    PHP-FPM不完全指南1

    PHP-FPM,全称FastCGI进程管理器,是PHP的一种高效运行模式,它通过FastCGI接口与Web服务器如Nginx进行交互。FastCGI是一种常驻型的接口,相比传统的CGI,它可以提高服务器处理PHP脚本的效率。在启动PHP-FPM时,它...

    什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI.pdf

    PHP-FPM(FastCGI Process Manager)是PHP的一个进程管理器,它可以管理多个FastCGI进程,并且可以根据需要动态地启动或停止FastCGI进程。PHP-FPM可以与Spawn-FCGI进行比较,但是PHP-FPM更加强大和灵活。 CGI、...

    基于ThinkPHP开发的一款支持Swoole的开源内容管理框架,同时支持PHP-FPM和Swoole双模式,让WEB开发更快

    PHP-FPM(FastCGI Process Manager)是PHP FastCGI的实现,是一种常驻内存的PHP进程管理器。与传统的CGI或者PHP mod不同,PHP-FPM能更好地管理和控制PHP进程,优化了资源消耗,提高了Web服务器的响应速度,尤其在高...

    [好文]mod_php和mod_fastcgi和php-fpm的介绍,对比,和性能数据.pdf

    在Apache中,mod_fastcgi有三种配置方式: 1. 静态配置:Apache直接与预先启动的一组FastCGI进程通信。 2. 动态配置:Apache可以根据请求动态调整FastCGI进程的数量。 3. 远程方式:Apache通过网络与远程服务器上的...

    php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式

    本文将深入探讨PHP与Nginx的处理方式以及Nginx与PHP-FPM之间的两种通信方式。首先,让我们了解PHP与Nginx的两种处理PHP请求的方法。 1. IP:Port 监听方式: 在这个模式下,Nginx通过指定的IP地址和端口(例如...

    基于php-fpm 参数的深入理解

    1. php-fpm进程控制 php-fpm可以运行在前台或者后台。前台运行通常用于调试,而生产环境中则建议在后台运行,以避免占用终端。这通过php-fpm的“daemonize”参数控制,其默认值为“yes”,表示在后台运行。 2. 错误...

Global site tag (gtag.js) - Google Analytics