进程
一个Master Process, 每个cpu core一个Work process,一个Cache manager process,一个Cache loader process

- master process读取配置,绑定port,fork work process
- Cache loader process 读取磁盘上的缓存,然后退出
- Cache manager process周期性的清理磁盘上的缓存
- work process处理所有的网络连接
Work Process
work process单线程,从master process分配一些监听的socket,当有连接到来时,从监听的socket上会产生事件,针对每个连接有一个State machine

Event Driven State Machine
传统的Server是一个连接(file descriptor)分配一个thread 或者 process。开销太大

Nginx是一个work process处理多个listen socket和connection socket产生的事件

网友评论