Linux 负载均衡算法存在瑕疵,修复后性能将提升一倍
Linux 内核开发者 Vincent Guittot 发现 Linux 完全调度算法 CFS 存在瑕疵,修复之后将进一步提升调度性能。
在 Linux 负载均衡期间,使用 CFS 算法时,系统会从负载较高的运行队列中拉取一些任务交给负载较低的队列,以此分摊 CPU 资源利用率。一般的过程就是系统会从最高利用率的队列往下拉任务,但是 Vincent 在邮件列表中表示,这其中存在一个问题:实际上算法没有考虑到在这个过程中可能有一些待处理任务要拉,如果有这样的待处理任务需要拉,那么与负载均衡分摊利用率的过程就会产生短暂的“冲突”,使得对队列资源利用率的分摊将延后,也就是等到拉完待处理的任务后再进行。
而根据分析,Vincent 发现这种待处理任务至少有两个,也就是说会出现两次短暂的“冲突”,虽然很微小,但是会影响系统的整体性能。同时他也对修复该问题之后的效益进行了具体影响数据的测算,发现每个请求花费的最大时间减少大约一半,平均从 21 ms 减少为 11 ms,考虑空闲负载均衡等因素,最糟糕的情况下从 41 ms 减少到 21 ms。(虽然平均每个请求的影响只有 0.1 多)
平均最大值不能完全反映该值的广泛分布尖端/预定/核心的范围从1.350ms到41ms以上,并且补丁程序在1.350ms到21ms之间。
更加具体的分析可以查看邮件列表:
https://lore.kernel.org/lkml/20200312165429.990-1-vincent.guittot@linaro.org
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux 基金会开源 Project Owl,协助灾后救援工作
Project OWL是一款基于云端的软/硬件解决方案,致力于在自然灾害发生后帮助应急响应人员与幸存者建立联系。该项目在2018年10月获得“代码行动全球奖”,并获得Linux基金会的开源支持。近日,Linux基金会宣布将开源Project OWL的IoT设备固件,以帮助全球开发人员为全球紧急通信网络构建网状网络节点。 在Project OWL的设想中,这些网络节点能够在自然灾害中创建大规模的通信网络。OWL固件的开源版本可以迅速将廉价的无线设备转变为“ DuckLink”,这是一个网状网络节点,能够物理连接到其周围的任何其他Ducks。 对硬件的开源意味着是“ClusterDuck协议”交付给全球开发人员的重要里程碑。Project OWL联合创始人Bryan Knouse表示:“成为Linux基金会社区的一部分,在我们遭遇飓风,洪水或地震等自然灾害的时候能够更快的做好社区准备以及实现减轻影响的目标,我们希望挑战开发人员为利用我们新开放的全球应急通信网络构建网状网络节点物联网固件。” 一旦网络创建完成,任何人均可登陆 OWL 应急网络并与该软件解决方案建立连接,随后该软件解决方案即可...
- 下一篇
每日一博 | 我眼中的分布式系统可观测性
作者:黄东旭,PingCAP 联合创始人兼 CTO 位于 M87 中心的特大质量黑洞示意图(© EHT Collaboration) 今天的文章我想从这张模糊的照片说起。 相信很多小伙伴对这张照片并不陌生,这是去年人类第一次拍摄的 M87 中心黑洞的照片,从1915年,爱因斯坦提出相对论预言黑洞的存在到 2019 年我们终于第一次「看到」了黑洞的样子,中间整整相隔了 100 多年,这对于人类认识黑洞乃至认识宇宙都是一个里程碑式的事件。人类是一个感性的动物,所谓「一图胜千言」很多时候一张图传达的信息超过千言万语。 关于黑洞我不想展开太多,今天我们聊聊「望远镜」。 前几天,在 TiDB 4.0 的开发分支中,我们引入了一个新功能叫做:Key Visualizer(下面简称 KeyViz),说起来这个小工具也并不复杂,就是用不同颜色的方框来显示整个数据库的不同位置数据访问频度和流量。一开始我们只是仅仅将它定位为一个给 DBA 用来解决数据库热点问题的调优辅助小工具,但是从昨晚开始我就一直在把玩这个小东西,突然觉得它对于分布式数据库来说背后的意义远不及此。 在 CNCF 对 Cloud Nat...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- 设置Eclipse缩进为4个空格,增强代码规范
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音