💡
原文英文,约2500词,阅读约需9分钟。
📝
内容提要
GitLab的Gitaly改进了维护策略,使用新机制提高效率并减少对整个存储库性能的影响。新策略已显著减少了重打包时间,并改善了大型monorepo的维护。
🎯
关键要点
- Gitaly改进了GitLab的存储库维护策略,提高了效率并减少了性能影响。
- 定期维护确保用户快速访问存储库并减少服务器资源使用。
- 维护大型monorepo的成本较高,Gitaly采用新机制来优化维护。
- 对象数据库中,用户的更改以新对象的形式写入,通常以松散对象存储。
- 松散对象会随着时间的推移积累,Git会定期将其压缩为包文件以提高效率。
- Gitaly使用自己的维护策略来管理Git存储库,特别是对象数据库的维护。
- 旧的对象打包策略依赖于启发式方法,存在效率低下的问题。
- 新的打包策略包括几何重打包和垃圾包,解决了旧策略的痛点。
- 垃圾包允许以压缩格式存储待删除对象,减少了对性能的影响。
- 几何重打包策略合并多个包文件,避免了全量重打包的高开销。
- 新策略实施后,GitLab的重打包时间减少了近20%,大型存储库的维护时间减少了80%。
- 用户可以通过设置特性标志手动启用几何重打包。
➡️