欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx進程調(diào)度問題詳解

 更新時間:2021年09月18日 14:55:21   作者:Nginx進程調(diào)度  
Nginx采用的是固定數(shù)量的多進程模型,由一個主進程(MasterProcess)和數(shù)量與主機CPU核數(shù)相同的工作進程協(xié)同處理各種事件。這篇文章主要介紹了Nginx進程調(diào)度問題,需要的朋友可以參考下

Nginx采用的是固定數(shù)量的多進程模型,由一個主進程(MasterProcess)和數(shù)量與主機CPU核數(shù)相同的工作進程協(xié)同處理各種事件。

Nginx采用的是固定數(shù)量的多進程模型,由一個主進程(MasterProcess)和數(shù)量與主機CPU核數(shù)相同的工作進程協(xié)同處理各種事件。

主管理進程負責工作進程的配置加載、啟停等操作,工作進程負責處理具體請求。進程間的資源都是獨立的,每個工作進程處理多個連接,每個連接由一個工作進程全權(quán)處理,不需要進行進程切換,也就不會產(chǎn)生由進程切換引起的資源消耗問題。默認配置下,工作進程的數(shù)量與主機CPU核數(shù)相同,充分利用CPU和進程的親緣性(affinity)將工作進程與CPU綁定,從而最大限度地發(fā)揮多核CPU的處理能力。

Nginx主進程負責監(jiān)聽外部控制信號,通過頻道機制將相關(guān)信號操作傳遞給工作進程,多個工作進程間通過共享內(nèi)存來共享數(shù)據(jù)和信息。

Tips:進程親緣性(affinity),使進程或線程在指定的CPU(核)上運行。

Nginx的工作進程有如下幾種調(diào)度方式:

  • 無調(diào)度模式:所有工作進程都會在連接事件被觸發(fā)時爭相與客戶端建立連接,建立連接成功則開始處理客戶端請求。無調(diào)度模式下所有進程都會爭搶資源,但最終只有一個進程可以與客戶端建立連接,對于系統(tǒng)而言這將在瞬間產(chǎn)生大量的資源消耗,這就是所謂的驚群現(xiàn)象。
  • 互斥鎖模式:每個工作進程都會周期性地爭搶互斥鎖,一旦某個工作進程搶到互斥鎖,就表示其擁有接收HTTP建立連接事件的處理權(quán),并將當前進程的socket監(jiān)聽注入事件引擎(如epoll)中,接收外部的連接事件。其他工作進程只能繼續(xù)處理已經(jīng)建立連接的讀寫事件,并周期性地輪詢查看互斥鎖的狀態(tài),只有互斥鎖被釋放后工作進程才可以搶占互斥鎖,獲取HTTP建立連接事件的處理權(quán)。當工作進程最大連接數(shù)的1/8與該進程可用連接(free_connection)的差大于或等于1時,則放棄本輪爭搶互斥鎖的機會,不再接收新的連接請求,只處理已建立連接的讀寫事件。互斥鎖模式有效地避免了驚群現(xiàn)象,對于大量HTTP的短連接,該機制有效避免了因工作進程爭搶事件處理權(quán)而產(chǎn)生的資源消耗。但對于大量啟用長連接方式的HTTP連接,互斥鎖模式會將壓力集中在少數(shù)工作進程上,進而因工作進程負載不均而導致QPS下降。
  • 套接字分片:套接字分片是由內(nèi)核提供的一種分配機制,該機制允許每個工作進程都有一組相同的監(jiān)聽套接字。當有外部連接請求時,由內(nèi)核決定哪個工作進程的套接字監(jiān)聽可以接收連接。這有效避免了驚群現(xiàn)象的發(fā)生,相比互斥鎖機制提高了多核系統(tǒng)的性能。該功能需要在配置listen指令時啟用reuseport參數(shù)。

Tips:Nginx 1.11.3以后的版本中互斥鎖模式默認是關(guān)閉的。套接字分片模式則因為由Linux內(nèi)核提供進程的調(diào)度機制,所以性能最好。

到此這篇關(guān)于Nginx進程調(diào)度問題的文章就介紹到這了,更多相關(guān)Nginx進程調(diào)度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx 偽靜態(tài)Rewrite正則資源匯總

    nginx 偽靜態(tài)Rewrite正則資源匯總

    本文給大家匯總介紹了nginx中使用rewrite偽靜態(tài)正則表達式的資源,非常的全面詳細,有需要的小伙伴可以參考下
    2016-08-08
  • Nginx代理接口訪問返回404的實現(xiàn)示例

    Nginx代理接口訪問返回404的實現(xiàn)示例

    因為不同業(yè)務系統(tǒng)間有接口調(diào)用,存在跨域問題,為了解決同源策略,需要將接口通過nginx去轉(zhuǎn)發(fā),本文主要介紹了Nginx代理接口訪問返回404的實現(xiàn)示例,感興趣的可以了解一下
    2024-06-06
  • nginx中如何配置proxy_pass

    nginx中如何配置proxy_pass

    這篇文章主要介紹了nginx中如何配置proxy_pass問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • nginx訪問控制的實現(xiàn)示例

    nginx訪問控制的實現(xiàn)示例

    這篇文章主要介紹了nginx訪問控制的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • 一文了解nginx HTTP安全響應問題

    一文了解nginx HTTP安全響應問題

    一些網(wǎng)站系統(tǒng)會經(jīng)常遭到各類XSS攻擊、點劫持等,從而造成重要信息的泄露以及服務器安全問題,本文就來介紹一下,感興趣的可以了解一下
    2023-11-11
  • Nginx靜態(tài)資源或者路徑鑒權(quán)方式

    Nginx靜態(tài)資源或者路徑鑒權(quán)方式

    這篇文章主要介紹了Nginx靜態(tài)資源或者路徑鑒權(quán)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 詳解nginx日志定時備份和刪除

    詳解nginx日志定時備份和刪除

    本篇文章主要介紹了nginx日志定時備份和刪除 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Nginx反向代理多域名的HTTP和HTTPS服務的實現(xiàn)

    Nginx反向代理多域名的HTTP和HTTPS服務的實現(xiàn)

    這篇文章主要介紹了Nginx反向代理多域名的HTTP和HTTPS服務的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • WinPC搭建nginx服務器的實現(xiàn)步驟

    WinPC搭建nginx服務器的實現(xiàn)步驟

    本文主要介紹了WinPC搭建nginx服務器的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • nginx源碼分析configure腳本詳解

    nginx源碼分析configure腳本詳解

    這篇文章主要介紹了nginx源碼分析configure腳本詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評論