nginx学习(四):nginx处理web请求机制

worker抢占机制

如下图所示,如果有一个请求,各个work进程会进行争锁。谁抢到是谁的。需要注意Nginx 所有worker进程协同工作的关键(共享内存).
nginx学习(四):nginx处理web请求机制

[accept_mutex的介绍]

当一个新连接到达时,如果激活了accept_mutex,那么多个Worker将以串行方式来处理,其中有一个Worker会被唤醒,其他的Worker继续保持休眠状态;如果没有激活accept_mutex,那么所有的Worker都会被唤醒,不过只有一个Worker能获取新连接,其它的Worker会重新进入休眠状态,这就是「惊群问题」。

异步非阻塞

nginx是异步非阻塞

在 Linux 下,Nginx 使用 epoll 的 I/O 多路复用模型

config 文件

events {
   # 默认使用epoll
   use epoll;
   # 每个worker允许连接的最大数
   worker_connections  1024;
}

相关推荐