What we're doing to fix Gitaly NFS performance regressions
Blog post from GitLab
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.
No tracked trend matches for this post yet.
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.