Rate limits on Git SSH operations (FREE SELF)
Introduced in GitLab 14.7 with a flag named
rate_limit_gitlab_shell
. Available by default without a feature flag from 15.8.
GitLab applies rate limits to Git operations that use SSH by user account and project. When the rate limit is exceeded, GitLab rejects further connection requests from that user for the project.
The rate limit applies at the Git command (plumbing) level. Each command has a rate limit of 600 per minute. For example:
-
git push
has a rate limit of 600 per minute. -
git pull
has its own rate limit of 600 per minute.
Because the same commands are shared by git-upload-pack
, git pull
, and git clone
, they share a rate limit.
Configure GitLab Shell operation limit
Introduced in GitLab 16.2.
Git operations using SSH
is enabled by default. Defaults to 600 per user per minute.
- On the left sidebar, at the bottom, select Admin Area.
- Select Settings > Network.
- Expand Git SSH operations rate limit.
- Enter a value for Maximum number of Git operations per minute.
- To disable the rate limit, set it to
0
.
- To disable the rate limit, set it to
- Select Save changes.