FPM

FPM =>FastCGI

总结:
FastCGI创建一个master进程,在master进程中管理监听socket,然后fork出多个work子进程,各个子进程各自accept请求,这些子进程启动时就进入阻塞状态,所以只能处理单个请求。子进程处理完请求后返回给web服务器。
fpm的master进程与worker进程之间不会直接进行通信,master通过共享内存获取worker进程的信息,比如worker进程当前状态、已处理请求数等,当master进程要杀掉一个worker进程时则通过发送信号的方式通知worker进程。

一般的处理模型:多进程、多线程
多进程:通常是主进程只负责管理子进程,而基本的网络事件由各个子进程处理,nginx、fpm就是这种模式;
多线程:一种多线程模型与多进程类似,只是它是线程粒度,通常会由主线程监听、接收请求,然后交由子线程处理,memcached就是这种模式,有的也是采用多进程那种模式:主线程只负责管理子线程不处理网络事件,各个子线程监听、接收、处理请求,memcached使用udp协议时采用的是这种模式。

你可能感兴趣的:(FPM)