Nginx是如何处理一个HTTP请求的呢?

Nginx是如何处理一个HTTP请求的呢?

Nginx 是一个高性能的 Web 服务器,能够同时处理大量的并发请求。
它结合多进程机制和异步机制 ,
异步机制使用的是异步非阻塞方式 ,
接下来就给大家介绍一下 Nginx 的多线程机制和异步非阻塞机制。

1、多进程机制
服务器每当收到一个客户端时,就有 服务器主进程 ( master process )
生成一个 子进程( workerprocess )出来和客户端建立连接进行交互,
直到连接断开,该子进程就结束了。
使用进程的好处是各个进程之间相互独立,不需要加锁,
减少了使用锁对性能造成影响,同时降低编程的复杂度,降低开发成本。
其次,采用独立的进程,可以让进程互相之间不会影响 ,
如果一个进程发生异常退出时,其它进程正常工作,
master 进程则很快启动新的 worker 进程,确保服务不会中断,从而将风险降到最低。
缺点是操作系统生成一个子进程需要进行 内存复制等操作,在资源和时间上会产生一定的开销。当有大量请求时,会导致系统性能下降 。

2、异步非阻塞机制
每个工作进程 使用 异步非阻塞方式 ,可以处理 多个客户端请求 。
当某个 工作进程 接收到客户端的请求以后,
调用 IO 进行处理,如果不能立即得到结果,就去 处理其他请求 (即为 非阻塞 );
而 客户端 在此期间也 无需等待响应 ,可以去处理其他事情(即为异步)。
当 IO 返回时,就会通知此 工作进程 ;
该进程得到通知,暂时 挂起 当前处理的事务去 响应客户端请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值