Nginx的进程模型

文章访问量:

一对多模型

Nginx采用的是一对多(one master/multi workers)的进程池模型。

写者注

进程池:动态创建-销毁进程很明显会增加开销。如果有10亿用户,那创建-销毁10亿进程去提供服务很明显开销很大。那不如让服务器提前生成子进程。

一般来说,nginx有1个主进程(master)和多个子进程(worker)对外提供服务。主进程又称为监控进程,只负责接收UNIX信号以及管理监控子进程。

子进程要干的活就比较多了。比如:与其他子进程通过一些算法(比如RR,随机算法)竞争与客户端的连接,执行nginx的业务逻辑,处理TCP/HTTP请求。

当子进程因为某些原因意外终止时,主进程会创建新的子进程,从而保证进程池的稳定。

后续会提到configure(配置文件)。在配置文件中你可以设置子进程的数目(一般和CPU核心数相同。毕竟进程切换也会增加开销。)以及子进程的最大连接数等。

Subscribe
提醒
0 评论
Inline Feedbacks
View all comments
0
在此留下你的评论x