NGINX_ I/O 模型

Posted 王华_linux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGINX_ I/O 模型相关的知识,希望对你有一定的参考价值。

1.系统I/O模型

# 同步/异步:
同步:进程发出请求调 用后,内核不 提供通知机制,即 文件IO处理 完成后不 通知进程,需要进程 自 己去问内核是否处理 完成。

异步:进程发出请求调 用后,内核会在调 用处理 完成后返回调 用结果给进程,nginx是异步的。

# 阻塞/ 非阻塞:
阻塞:blocking,指IO操作需要彻底完成后才返回到 用户空间,调 用结果返回之前,调 用者被挂起, 干不 了 别的事情。

 非阻塞:nonblocking,指IO操作被调 用后 立即返回给 用户 一个状态值, 无需等到IO操作彻底完成,最终的调 用结果返回之前,调 用者不 会被挂起,可以去做别的事情。

#  IO模型组合:
同步阻塞:我点完包 子后不 能去做别的事情, 而且不 知道包 子有没有做好,需要 自 己 一直等着并 一次次的问厨师做好没有。

同步非阻塞:点完包 子后可以去做别的事情,但是不 能 长时间做别的事情,因为我还是不 知道包 子有没有做好,也要 自 己 一直等着并 一次次的问厨师做好没有,只能抽空做点别的。

异步阻塞:我点完包 子后不 能去 走做别的事情,但是厨师在做好包 子后会告诉我,也就是我不  用再 一次次为厨师包 子有没有做好了 。

异步非阻塞:我点完包 子后可以做别的事情, 而且可以 一直在做别的去事情,因为厨师在做好包 子后会告诉我。

以上是关于NGINX_ I/O 模型的主要内容,如果未能解决你的问题,请参考以下文章

nginx I/O模型

Nginx 之 I/O模型介绍

Nginx的介绍

WEB服务-Nginx之1-网络IO模型和常用事件驱动模型

第3章 文件I/O_五种I/O模型

Nginx基础