获取查看PHP-FPM进程相关信息

PHP-FPM是大多数 PHP 项目中都会用到的,也可能会有一些监控的操作需要获取FPM的进程相关信息

获取 FPM 进程数

ps -ef|grep php-fpm|grep -v grep|wc -l

获取 FPM 进程 ID

ps -ef|grep php-fpm|grep -v grep|awk '{print $2}'

PHP-FPM 启动进程的方式

PHP-FPM 是多进程模式,master进程管理worker进程,进程的数量都可以通过php-fpm.conf做具体配置

而 PHP-FPM 的进程,基本上可以分为动态模式及静态模式,而大多数公司或者个人都使用的是动态模式

静态(static)

直接开启指定数量的 PHP-FPM 进程,不再增加或者减少;启动固定数量的进程,占用内存高

但在用户请求波动大的时候,对 Linux 操作系统进程的处理上耗费的系统资源低

动态(dynamic)

开始的时候开启一定数量的 PHP-FPM 进程,当请求量变大的时候,动态的增加 PHP-FPM 进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限

动态模式,会根据max、min、idle children配置,动态的调整进程数量

在用户请求较为波动,或者瞬间请求增高的时候,进行大量进程的创建、销毁等操作,而造成 Linux 负载波动升高

简单来说,请求量少,PHP-FPM 进程数少,请求量大,进程数多

优势就是,当请求量小的时候,进程数少,内存占用也小

按需模式(ondemand)

这种模式下,PHP-FPM 的master不会fork任何的子进程,纯粹就是按需启动子进程

因为这种模式,基本上是无法适应有一定量级的线上业务的

发表评论

发表评论

*

沙发空缺中,还不快抢~