亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

nginx 驚群問題

nginx 驚群問題

侃侃爾雅 2018-09-24 10:39:02
問題的背景:在建立連接的時候,Nginx處于充分發揮多核CPU架構性能的考慮,使用了多個worker子進程監聽相同端口的設計,這樣多個子進程在accept建立新連接時會有爭搶,這會帶來著名的“驚群”問題,子進程數量越多越明顯,這會造成系統性能的下降。如何解決驚群問題-post事件處理機制很多操作系統的最新版本的內核已經在事件驅動機制中解決了驚群問題,但Nginx作為可移植性極高的web服務器,還是在自身的應用層面上較好的解決了這一問題。Nginx規定了同一時刻只有唯一一個worker子進程監聽web端口,這一就不會發生驚群了,此時新連接事件只能喚醒唯一的正在監聽端口的worker子進程。如何限制在某一時刻是有一個子進程監聽web端口呢?在打開accept_mutex鎖的情況下,只有調用ngx_trylock_accept_mutex方法后,當前的worker進程才會去試著監聽web端口。我的問題:假定當前所有的woker進程處于休眠狀態,當連接事件發生的時候 ,是不是所有的wokrer進程都會 嘗試獲取鎖,如果獲取成功就會 處理連接事件。 那么這種情況下 不也 回導致 連接事件發生時,喚醒所有的wokrer進程 去競爭獲取鎖嗎?驚群 問題 就是解決 如下問題的而 使用鎖的解決方案中 如何避免多個worker進程 被喚醒競爭鎖??
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 516 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號