0
点赞
收藏
分享

微信扫一扫

php进程管理

伢赞 2023-02-19 阅读 77


PHP-FPM

先来了解一些名词概念:

php进程管理_php


​CGI​​​是​​Common Gateway Interface​​(通用网管协议),用于让交互程序和Web服务器通信的协议。它负责处理URL的请求,启动一个进程,将客户端发送的数据作为输入,由Web服务器收集程序的输出并加上合适的头部,再发送回客户端。

php进程管理_子进程_02

​FastCGI​​是基于CGI的增强版本的协议,不同于创建新的进程来服务请求,使用持续的进程和创建的子进程来处理一连串的进程,这些进程由FastCGI服务器管理,开销更小,效率更高。

php进程管理_PHP_03

​PHP-FPM​​​是PHP实现的​​FastCGI Process Manager​​​(FastCGI进程管理器), 用于替换​​PHP FastCGI​​的大部分附加功能,适用于高负载网站。支持的功能如:

平滑停止/启动的高级进程管理功能
慢日志记录脚本
动态/静态子进程产生
基于php.ini的配置文件

查看进程与子进程

ps aux | grep php

php进程管理_子进程_04


显示​​php-fpm: pool www​​的代表work子进程(实际处理请求)

显示​​php-fpm: process master​​的代表master主进程(负责管理work子进程)

子进程迟迟没有消失,导致进程不断的累加。最后导致系统的tasks 增加,加到​​五百多六百多七百多+++​

php进程管理_php_05


那咋办,要是访问的人数并发特别多,进程数无上限了,机器吃不消宕机了,重启服务器;

再不行。我就写个定时脚本把这些进程干掉。

当然不是这样子的,这就是 ​​php-fpm​​ 所要管理的事情了, 可能经常有人问这块的知识点,或者面试的时候面试官问你,支支吾吾的。

还记得刚刚查看php进程命令显示的数据吗?

php进程管理_php_06


直接查看这边的配置

php进程管理_子进程_07

​​参考​​


举报

相关推荐

0 条评论