Gitaly是一个Git RPC服务,用于处理GitLab发出的所有git调用。目前Gitaly仍在发展。 我们期望它成为一个标准组件,并在2017年第三季度达到全覆盖。
项目目标:
这将通过关注两个领域(按此顺序)来实现:
允许高效缓存
GitLab的Git数据层的弹性水平缩放
由来:
对于GitLab.com git访问很慢。
当查看Rugged :: Repository.new性能数据时,我们可以看到我们的P99峰值高达30秒,而CPU时间保持在15毫秒的范围内。 指向文件系统访问是罪魁祸首。
我们的P99访问时间只是创建一个Rugged :: Repository对象,这是从磁盘加载和处理git对象,尖峰超过30秒,基本上不可用。 我们还看到,只是走过gitlab ce的分支需要2.4秒。
我们考虑移动到金属以解决我们的问题与更高性能的硬件,但是我们的用户在云中使用GitLab,所以它应该在那里工作。 这样,增加的性能将使每个GitLab用户受益。