Nginx基本模型

工作模型

Nginx主要使用了epoll网络I/O模型,能够处理大量连续的读写请求。Apache(2.4以前版本)所采用的select网络I/O模型的效率则非常低。

epoll模型和select模型的差别在哪?

我们想象一个场景:假设你是餐馆服务员,有客人来了,你引导客人入住,客人看菜单可能需要3分钟,在这3分钟里,你是站在旁边等还是先去做别的事?
这个客人点完餐之后,你是等这个客人的餐都上齐了再去服务其他客人还是在上每一盘菜的空隙都去服务别的客人?

select模型就相当于你从一个客人进门到吃完离开这段时间,都只服务这一个客人,不服务其他人。
而epoll则是你交错着同时服务多个客人。

很显然,epoll的效率高的多,请求越多时,差距越明显。

进程模型

nginx采用了master-worker进程模型。

master进程只有一个,并且master进程创建多个子进程(worker进程)处理实际的业务逻辑,而master进程本身仅仅负责nginx的管理工作,例如平滑重启,配置文件生效,转发信息给worker进程等。

工作流程如下:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值