互聯(lián)網(wǎng)信息化咨詢/技術(shù)開發(fā)/整合營銷
請(qǐng)通過以下方式免費(fèi)咨詢
提交
在 Linux 負(fù)載均衡期間,使用 CFS 算法時(shí),系統(tǒng)會(huì)從負(fù)載較高的運(yùn)行隊(duì)列中拉取一些任務(wù)交給負(fù)載較低的隊(duì)列,以此分?jǐn)?CPU 資源利用率。一般的過程就是系統(tǒng)會(huì)從最高利用率的隊(duì)列往下拉任務(wù),但是 Vincent 在郵件列表中表示,這其中存在一個(gè)問題:實(shí)際上算法沒有考慮到在這個(gè)過程中可能有一些待處理任務(wù)要拉,如果有這樣的待處理任務(wù)需要拉,那么與負(fù)載均衡分?jǐn)偫寐实倪^程就會(huì)產(chǎn)生短暫的“沖突”,使得對(duì)隊(duì)列資源利用率的分?jǐn)倢⒀雍螅簿褪堑鹊嚼甏幚淼娜蝿?wù)后再進(jìn)行。
而根據(jù)分析,Vincent 發(fā)現(xiàn)這種待處理任務(wù)至少有兩個(gè),也就是說會(huì)出現(xiàn)兩次短暫的“沖突”,雖然很微小,但是會(huì)影響系統(tǒng)的整體性能。同時(shí)他也對(duì)修復(fù)該問題之后的效益進(jìn)行了具體影響數(shù)據(jù)的測算,發(fā)現(xiàn)每個(gè)請(qǐng)求花費(fèi)的最大時(shí)間減少大約一半,平均從 21 ms 減少為 11 ms,考慮空閑負(fù)載均衡等因素,最糟糕的情況下從 41 ms 減少到 21 ms。(雖然平均每個(gè)請(qǐng)求的影響只有 0.1 多)
平均最大值不能完全反映該值的廣泛分布尖端/預(yù)定/核心的范圍從1.350ms到41ms以上,并且補(bǔ)丁程序在1.350ms到21ms之間。