1.worker抢占机制
master
进程fork了多个worker
进程,worker进程如何和client连接呢?- 多个worker抢一个client的时候,会有一个互斥锁(
accept_mutex
)和client是对应的
2.传统服务器事件处理
- 是一种同步阻塞的处理方式
3.nginx事件处理
- nginx异步非阻塞,worker use epoll,linux的epoll模型,可以并发6万~8万的网络请求,和cpu相关,cpu越多,内存越大,甚至可以处理几十到几百万的并发,甚至可以到几亿的并发
- worker默认并发数是1024,可以自行修改
nginx.conf
文件 - nginx能承载高并发的原因,一是
worker
抢占机制,二是模型采用的是异步非阻塞
的通信模式,即多路复用器