![]() The latest set of changes for a given branch, up to desired number of commits. If possible, set the clone depth with a small number like 10. GitLab and GitLab Runner perform a shallow clone Option in the git clone or git fetch call. Reduce CI/CD pipeline concurrency by staggering them to run at different times.įor example, a set running at one time and another set running several minutes These times and lead to reduced performance for both CI/CD and users alike. ![]() This can help immensely in the presence of a high rate of clones for a singleįor more information, see Pack-objects cache.ĬI/CD loads tend to be concurrent because pipelines are scheduled during set times.Īs a result, the Git requests against the repositories can spike notably during That data from an in-memory cache that Gitaly maintains. To re-generate the response data with each clone or fetch call, but instead serves If severalįetches are requesting the same set of refs, Git on the Gitaly server doesn’t have Is sent back to the Git client initiating the clone or fetch. Which reduces the work that the server has to do for clones and fetches.Ĭaches the data that the git-pack-objects process produces. If there is a high amount of such traffic, hitting a Gitaly server with manyĬlones for a large repository is likely to put the server under significant Most git clone or git fetch traffic (which results in starting a git-pack-objects process on the server) often come from automatedĬontinuous integration systems such as GitLab CI/CD or other CI/CD systems. Both memory and CPUĪre heavily utilized during this operation. Repository has and the more expensive this operation is. The larger the repository, the more commits, files, branches, and tags that a Responsible for figuring out all of the commit history and files to send back to The most resource intensive operation in Git is the You should use as many of the following strategies as possible to minimize Git are experienced in Gitaly, and in turn by end users of GitLab. Monorepos can also impact notably on hardware, in some cases hitting limitations such as vertical scaling and network or disk bandwidth limits. ![]() Git itself has performance limitations when it comes to handling Large repositories pose a performance risk performance when used in GitLab, especially if a large monorepo receives many clones or pushes a day, which is common for them.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |