PHP

PHP
Noahphp 基础
PHP 作为一种开源的程序语言,在众多网络应用程序中被广泛使用。而在 PHP 运行环境中,PHP-FPM 则是一个关键
的组件。
php 和 phpfpm 的区别:1、php 是在服务器端执行的脚本语言,而 phpfpm 是一个 PHPFastCGI 管理器;2、对于
PHP5.3.3 之前的 php 来说,phpfpm 是一个补丁包;3、PHP5.3.3 已经集成 php-fpm 了等等。
php-fpm.conf 是 PHP-FPM 进程管理器的配置文件,php.ini 是 PHP 解析器的配置文件。
一、PHP-FPM 概述
PHP-FPM 是 FastCGI 进程管理器的缩写,它是一个 PHP 服务进程管理器,提供了对运行 PHP 应用的支持。与常规的
CGI 程序不同,PHP-FPM 以长连接的方式工作,使得它能够更高效地处理 PHP 代码的执行。
它主要用于解决 PHP 运行有效性的问题。在传统的 PHP-CGI 架构中,每个请求需要创建和销毁一个 PHP 解释程序进
程,这样的操作非常浪费资源。而在 PHP-FPM 中,PHP 解释程序进程是长期存在的,可以有效降低每个请求创建进
程的时间,从而显著提高 PHP 应用的响应速度和整体性能。
二、PHP-FPM 的作用 1.减少资源浪费
实现 PHP 的在线解析,减少了 CGI 通信所需的服务器负载,提升了服务器性能。使用 PHP-FPM 协议可以增进 PHP 的高
效性,减小 PHP 性能上的问题。PHP-FPM 可以在比 PHP-CGI 更少的时间内处理更多的用户请求并返回客户端数据。 2.提升 PHP 应用程序性能
通过支持作业调度,对长时间运行的脚本进行监视,以防死亡、重启,以优化服务器的使用资源和缓解 CPU 高负载情
况,PHP-FPM 确保执行 PHP 代码的速度。 3.进程控制
PHP-FPM 支持复杂的进程控制机制,例如动态进程池大小自动调整、根据不同的用户或应用选择不同的池等级、设
置不同的进程限制等。这种可定制的进程控制机制使得 PHP-FPM 能够更好地适应应用程序的不同需求,提高 PHP 的
性能。
三、php-fpm 优化参数介绍
他们分别是:pm、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers。
pm:表示使用那种方式,有两个值可以选择,就是 static(静态)或者 dynamic(动态)。
在更老一些的版本中,dynamic 被称作 apache-like。这个要注意看配置文件的说明。
下面 4 个参数的意思分别为:
pm.max_children:静态方式下开启的 php-fpm 进程数量
pm.start_servers:动态方式下的起始 php-fpm 进程数量
pm.min_spare_servers:动态方式下的最小 php-fpm 进程数
pm.max_spare_servers:动态方式下的最大 php-fpm 进程数量






