Gitaly - Git RPC 服务


MIT
跨平台
Google Go

软件简介

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用户受益。