之前發(fā)現(xiàn)nginx的進程在任務分配方面非常的不平均,即某個進程一旦忙起來會忙很久,而空閑的線程卻一直空閑,跟下代碼發(fā)現(xiàn)epoll_wait中默認的timer是500ms(沒有任務的情況下),可以通過減少accept_mutex_delay這個參數(shù)讓空閑的進程有更大的機會搶到accept鎖,從而使任務更加平均的分配,至于對效率的影響,需要測試才能知道。
我們提供的服務有:成都網(wǎng)站設計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設公司、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、宜黃ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的宜黃網(wǎng)站制作公司
worker process如果想要搶鎖,就必須從epoll_wait中醒過來才可以走循環(huán)流程,然后走到搶鎖的地方才有機會搶,而一旦worker process搶到了accept鎖,任務比較多的情況下,epoll_wait會被頻繁激活,導致?lián)屾i的機會大大增加,而空閑的進程500ms才去嘗試一次搶accept鎖,所以請求量越大,空閑進程搶到鎖的可能性就越小.
搶鎖流程:
1、搶鎖
2、把listen fd加入epoll事件
3、解鎖(如果不解鎖,那其他進程永遠沒有機會再accept了)
accept_mutex_delay
含義:設置獲得互斥鎖的最少延遲時間。
語法:accpet_mutex_delay <number of millisecs>
缺省:500ms
示例:accpet_mutex_delay 1000ms;
網(wǎng)頁題目:小談accpet_mutex_delay參數(shù)
瀏覽路徑:http://vcdvsql.cn/article4/pdhgie.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、動態(tài)網(wǎng)站、ChatGPT、網(wǎng)站收錄、外貿(mào)建站、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)