Home / Companies / GitLab / Blog / Post Details
Content Deep Dive

What we're doing to fix Gitaly NFS performance regressions

Blog post from GitLab

Post Details
Company
Date Published
Author
James Ramsay and Zeger-Jan van de Weg
Word Count
1,048
Company Posts That Month
29
Language
English
Hacker News Points
-
Post removed?
No
Summary

Gitaly, GitLab's service that interfaces with Git data, was developed to remove the dependency on NFS, a task completed in the summer of 2018, to improve data availability and correctness. Although performance wasn't the initial focus, rewriting most RPCs in Go inadvertently enhanced it. However, performance issues, particularly for large GitLab instances using NFS, were observed, prompting the addition of feature flags to improve performance by reverting to Rugged implementations. A significant challenge was the detection of N + 1 query patterns, such as in the pipeline index view, which led to the development of the ListCommitsByOid RPC and the implementation of a 'cat-file' cache in GitLab 12.1 to enhance performance by caching repositories per Rails session. The Gitaly team prioritized automatically enabling Rugged for GitLab servers using NFS to mitigate performance regressions, with plans to eliminate the need for NFS by achieving high availability for Gitaly, thus enhancing both performance and availability.

Trends Found in this Post

No tracked trend matches for this post yet.

Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.