之前發(fā)現(xiàn)nginx的進(jìn)程在任務(wù)分配方面非常的不平均,即某個進(jìn)程一旦忙起來會忙很久,而空閑的線程卻一直空閑,跟下代碼發(fā)現(xiàn)epoll_wait中默認(rèn)的timer是500ms(沒有任務(wù)的情況下),可以通過減少accept_mutex_delay這個參數(shù)讓空閑的進(jìn)程有更大的機(jī)會搶到accept鎖,從而使任務(wù)更加平均的分配,至于對效率的影響,需要測試才能知道。
成都創(chuàng)新互聯(lián)主營皮山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),皮山h5重慶小程序開發(fā)公司搭建,皮山網(wǎng)站營銷推廣歡迎皮山等地區(qū)企業(yè)咨詢worker process如果想要搶鎖,就必須從epoll_wait中醒過來才可以走循環(huán)流程,然后走到搶鎖的地方才有機(jī)會搶,而一旦worker process搶到了accept鎖,任務(wù)比較多的情況下,epoll_wait會被頻繁激活,導(dǎo)致?lián)屾i的機(jī)會大大增加,而空閑的進(jìn)程500ms才去嘗試一次搶accept鎖,所以請求量越大,空閑進(jìn)程搶到鎖的可能性就越小.
搶鎖流程:
1、搶鎖
2、把listen fd加入epoll事件
3、解鎖(如果不解鎖,那其他進(jìn)程永遠(yuǎn)沒有機(jī)會再accept了)
accept_mutex_delay
含義:設(shè)置獲得互斥鎖的最少延遲時間。
語法:accpet_mutex_delay
缺?。?00ms
示例:accpet_mutex_delay 1000ms;
附件:http://down.51cto.com/data/2367950另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。