【http MPM】
prefork:进程模型,两级结构,主进程master负责生成子进程,每个子进程负责负责响应一个请求。
worker:线程模型,三级结构,主进程master负责生成子进程,每个子进程负责生成多个线程,每个线程响应一个请求。
event:线程模型,三级结构,主进程master负责人生成子进程,每个子进程响应多个请求。
【nginx服务的请求过程】
第一步:经数据从磁盘文件先加载至内核内存空间(缓冲区),等待数据准备完成,时间较长
第二部:将数据从内核缓冲区复制到用户空间的进程的内存中,时间较短
【I/O模型】
[同步/异步]:关注是的消息通告机制
同步:synchronous,调用者等待被调用者返回消息,才能继续执行
异步:asynchronous,被调用者通过状态、通知或回调机制主动通知调用者被调用者的运行状态
[阻塞/非阻塞]:关注调用者在等待结果返回之前所处的状态
阻塞:blocking,指IO操作需要企彻底完成后返回到用户空间,调用结果返回之前,调用者被挂起
非阻塞:ninblocking,指IO操作被调用后立即返回给用户一个状态值,无须等到IO操作彻底完成,最终的调用结果返回之前,调用者不会被挂起
[I/O模型]:
阻塞型、非阻塞型、复用型、信号驱动型、异步
[同步阻塞IO模型]:用户发起指令,给内核,只能等待用户进程;除非从盘上