医生:通过重新编排指令来优化容器重建效率
《Proceedings of the ACM on Software Engineering》:Doctor: Optimizing Container Rebuild Efficiency by Instruction Re-orchestration
【字体:
大
中
小
】
时间:2025年11月07日
来源:Proceedings of the ACM on Software Engineering
编辑推荐:
Dockerfile优化方法Doctor通过指令重排减少构建时间,依赖分析结合历史修改数据加权拓扑排序,实验显示92.75%的Dockerfile受益,平均减少26.5% rebuild time且86.2%保持功能等效。
摘要
容器化技术彻底改变了软件部署的方式,其中Docker因其易用性和一致的运行时环境而处于领先地位。随着Docker使用的增加,优化Dockerfile的性能(尤其是减少重建时间)对于维护高效的持续集成/持续交付(CI/CD)流程变得至关重要。然而,现有的优化方法主要针对单次构建进行优化,没有考虑到修改和演进过程中反复重建所带来的成本,这限制了长期效率的提升。为了解决这一问题,我们提出了Doctor这一方法,通过重新排序指令来提高Dockerfile的构建效率,该方法解决了几个关键挑战:识别指令之间的依赖关系、预测未来的修改、确保行为等效性以及管理优化的计算复杂性。我们基于Dockerfile的语法和历史修改情况开发了一个全面的依赖关系分类体系,以确定哪些指令被频繁修改。Doctor利用加权拓扑排序算法来优化指令顺序,从而在保持功能的前提下最小化未来的重建时间。在对2000个GitHub仓库进行的实验中,发现Doctor改进了92.75%的Dockerfile,平均减少了26.5%的重建时间,其中有12.82%的文件重建时间减少了50%以上。值得注意的是,86.2%的文件在优化后仍保持了功能上的相似性。这些发现为Dockerfile的管理提供了最佳实践,使开发人员能够通过合理的优化策略来提升Docker的运行效率。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号