国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請(qǐng)教一下:驚群現(xiàn)象會(huì)造成什么后果?驚群會(huì)不會(huì)造成本該響應(yīng)的進(jìn)程由于搶不到連接,而丟失業(yè)務(wù)數(shù)據(jù)?workerman是怎樣處理驚群效應(yīng)的呢?

mac
15629 2 3
2個(gè)回答

walkor 打賞

驚群會(huì)造成一點(diǎn)資源的浪費(fèi),只要經(jīng)過(guò)簡(jiǎn)單的處理,不會(huì)導(dǎo)致任何業(yè)務(wù)異常。workerman中多個(gè)進(jìn)程/線程嘗試去獲取客戶端鏈接時(shí),如果發(fā)現(xiàn)鏈接已經(jīng)被其它進(jìn)程/線程認(rèn)領(lǐng),就什么也不做,沒(méi)有任何影響。

驚群
簡(jiǎn)單的說(shuō) 某個(gè)事件發(fā)生后,會(huì)喚醒多個(gè)正在等待該事件的進(jìn)程/線程,造成一定的cpu資源的浪費(fèi)

就像一個(gè)客人進(jìn)餐館吃飯(代表一個(gè)客戶端鏈接到來(lái)),這時(shí)一些休息的服務(wù)生(接受鏈接的進(jìn)程)看到客人來(lái)了趕緊起來(lái)去招呼客人,但是一個(gè)客人一個(gè)服務(wù)生就夠了,其它服務(wù)生看到客人已經(jīng)被一個(gè)服務(wù)生搶先認(rèn)領(lǐng)了,沒(méi)自己的事情了就又回去休息,造成浪費(fèi)。

解決辦法
通常是通過(guò)鎖機(jī)制等,在任意時(shí)刻只讓一個(gè)進(jìn)程/線程去接受客戶端鏈接。但是鎖機(jī)制也會(huì)造成cpu等資源的消耗及性能損耗,比起驚群的消耗誰(shuí)大誰(shuí)小目前沒(méi)有一個(gè)定論。

目前一些常見(jiàn)的服務(wù)器軟件有的是通過(guò)鎖機(jī)制來(lái)解決驚群的,比如nginx(nginx鎖機(jī)制默認(rèn)是開啟的,可以關(guān)閉);還有一些認(rèn)為驚群對(duì)系統(tǒng)影響不大,沒(méi)有去處理,比如lighttpd。而apache一般沒(méi)有驚群效應(yīng),apache的進(jìn)程模型是多個(gè)進(jìn)程阻塞在accept上,目前的Linux內(nèi)核已經(jīng)解決了accpet驚群?jiǎn)栴}(經(jīng)過(guò)本人實(shí)際測(cè)試確實(shí)如此)。

另外也可以通過(guò)SO_REUSEPORT選項(xiàng)解決驚群?jiǎn)栴}。workerman 3.2.1以上版本已經(jīng)增加了此選項(xiàng),需要設(shè)置worker->reusePort = true來(lái)激活。注意:workerman中此選項(xiàng)只在php7有效。

workerman
如同其它服務(wù)器軟件lighttpd等那樣,認(rèn)為鎖機(jī)制或者單個(gè)進(jìn)程/線程處理驚群會(huì)造成性能的下降,所以沒(méi)有處理驚群效應(yīng)。
驚群效應(yīng)只有在系統(tǒng)負(fù)載很低的時(shí)候明顯,隨著系統(tǒng)負(fù)載升高驚群效應(yīng)減弱甚至消失。驚群造成的影響很小很小,相比復(fù)雜的業(yè)務(wù),影響如同九牛一毛,可以忽略不計(jì)。

另外workerman主要是針對(duì)長(zhǎng)連接應(yīng)用,驚群只有在建立連接時(shí)才會(huì)出現(xiàn),而長(zhǎng)連接應(yīng)用的特點(diǎn)就是不會(huì)頻繁建立連接,所以對(duì)于長(zhǎng)連接應(yīng)用,驚群效應(yīng)完全可以忽略不計(jì)。

  • 小七他哥 2021-07-06

    nginx 的 epoll 模型是不是就是解決這個(gè)問(wèn)題的?。?/p>

隨某人

get

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??