nginx 是如何实现高并发的?

Johngo学长 Nginx 31

一个主进程,多个工作进程,每个工作进程可以处理多个请求,每进来一个 request,会有一个 worker 进程去处理。

但不是全程的处理,处理到可能发生阻塞的地方,比如向上游(后端)服务器转发 request,并等待请求返回。

那 么,这个处理的 worker 继续处理其他请求,而一旦上游服务器返回了,就会触发这个事件,worker 才会来接手,这个 request 才会接着往下走。

由于 web server 的工作性质决定了每个 request 的大部份生命都是在网络传输中, 实际上花费在 server 机器上的时间片不多。

这是几个进程就解决高并发的秘密所在。即 webserver 刚好属于网络 IO 密集型应用,不算是计算密集型。

回复

我来回复
  • 暂无回复内容

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部