日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx 多进程模型是如何实现高并发的?

發布時間:2025/1/21 Nginx 118 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx 多进程模型是如何实现高并发的? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進程數與并發數不存在很直接的關系。這取決取 server 采用的工作方式。如果一個 server 采用一個進程負責一
個 request 的方式,那么進程數就是并發數。那么顯而易見的,就是會有很多進程在等待中。等什么?最多的應該是
等待網絡傳輸。?
Nginx 的異步非阻塞工作方式正是利用了這點等待的時間。在需要等待的時候,這些進程就空閑出來待命了。因
此表現為少數幾個進程就解決了大量的并發問題。apache 是如何利用的呢,簡單來說:同樣的 4 個進程,如果采用
一個進程負責一個 request 的方式,那么,同時進來 4 個 request 之后,每個進程就負責其中一個,直至會話關閉。
期間,如果有第 5 個 request 進來了。就無法及時反應了,因為 4 個進程都沒干完活呢,因此,一般有個調度進程,
每當新進來了一個 request,就新開個進程來處理。nginx 不這樣,每進來一個 request,會有一個 worker 進程去
處理。但不是全程的處理,處理到什么程度呢?處理到可能發生阻塞的地方,比如向上游(后端)服務器轉發 request,
并等待請求返回。那么,這個處理的 worker 不會這么傻等著,他會在發送完請求后,注冊一個事件: “如果 upstream?
返回了,告訴我一聲,我再接著干”。于是他就休息去了。此時,如果再有 request 進來,他就可以很快再按這種方
式處理。而一旦上游服務器返回了,就會觸發這個事件, worker 才會來接手,這個request 才會接著往下走。?
由于 web server 的工作性質決定了每個 request 的大部份生命都是在網絡傳輸中,實際上花費在 server機器
上的時間片不多。這是幾個進程就解決高并發的秘密所在。web server 剛好屬于網絡 io 密集型應用,不算是計算密
集型。異步,非阻塞,使用 epoll,和大量細節處的優化。也正是 nginx 之所以然的技術基石。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Nginx 多进程模型是如何实现高并发的?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。