Linux 內核開發者Vincent Guittot 發現Linux 完全調度算法 CFS 存在瑕疵,修復之后將進一步提升調度性能。
在 Linux 負載均衡期間,使用 CFS 算法時,系統會從負載較高的運行隊列中拉取一些任務交給負載較低的隊列,以此分攤 CPU 資源利用率。一般的過程就是系統會從最高利用率的隊列往下拉任務,但是Vincent 在郵件列表中表示,這其中存在一個問題:實際上算法沒有考慮到在這個過程中可能有一些待處理任務要拉,如果有這樣的待處理任務需要拉,那么與負載均衡分攤利用率的過程就會產生短暫的“沖突”,使得對隊列資源利用率的分攤將延后,也就是等到拉完待處理的任務后再進行。
而根據分析,Vincent 發現這種待處理任務至少有兩個,也就是說會出現兩次短暫的“沖突”,雖然很微小,但是會影響系統的整體性能。同時他也對修復該問題之后的效益進行了具體影響數據的測算,發現每個請求花費的最大時間減少大約一半,平均從 21 ms 減少為 11ms,考慮空閑負載均衡等因素,最糟糕的情況下從 41 ms 減少到 21 ms。(雖然平均每個請求的影響只有 0.1 多)
平均最大值不能完全反映該值的廣泛分布尖端/預定/核心的范圍從1.350ms到41ms以上,并且補丁程序在1.350ms到21ms之間。
更加具體的分析可以查看郵件列表。
-
負載
+關注
關注
2文章
611瀏覽量
35139 -
Linux
+關注
關注
87文章
11499瀏覽量
213343
發布評論請先 登錄
四層和七層負載均衡的核心區別
云服務器怎么做負載均衡?
常見的lvs負載均衡算法
常用的服務器負載均衡多少錢一臺?
多鏈路負載均衡設置在哪里?
華納云:什么是負載均衡?優化資源利用率的策略
IPVS負載均衡原理解析
負載均衡是什么意思?盤點常見的三種方式
如何利用traceroute命令發現網絡中的負載均衡

評論