- 0
- 0
- 约小于1千字
- 约 1页
- 2026-08-07 发布于北京
- 举报
《104_Nginx使用什么样的IO驱动模型?》
如果在4核8G的服务器上部署一个Tomcat,里面有一些线程并发运行处理请求,Tomat
服务器上部署的系统一般每秒就处理几百请求到1000请求就撑死了,但是为什么Redis、
Nginx、LVS每秒也能轻松上万请求
你每个线程拿到一个请求,全部得后续执行阻塞式IO,数据库也属于通过网络IO跟数
据库通信,这也是阻塞IO,你Redis或者ES,都是在走网络IO跟他们通信,都是属于
阻塞式IO
一个线程每秒才处理5~10个请求,100个线程,500个请求~1000个请求,4核8G的服务
器的CPU负载就满了,没法处理更高的并发请求了
nginx是非阻塞的IO,把IO交给内核,自己就去处理别的请求了,等linux处理完请求了再
主动nginx进程,这个linux内核工作的过程就叫做事务驱动模型,他并不是让nginx
自己不停的轮询IO操作进度,而是linux内核主动他
linux内核的select、poll、epoll、kqueue都是做非阻塞IO的,进程可以快速处理请求,
快速提交IO请求给linux内核,自己不用阻塞等待IO请求结果,所以进程是绝对可以
原创力文档

文档评论(0)