Git SSHオペレーションにおけるレート制限
GitLab 14.7 で
rate_limit_gitlab_shell
というフラグで導入。15.8からは機能フラグなしでデフォルトで利用可能。
GitLabはSSHを使用するGitオペレーションに対して、ユーザーアカウントとプロジェクトごとにレートリミットを適用します。レートリミットを超えると、GitLabはそのユーザーからのプロジェクトに対するそれ以降の接続要求を拒否します。
レートリミットはGitコマンド(配管)レベルで適用されます。各コマンドには1分あたり600のレート制限があります。例えば
-
git push
は毎分600のレート制限があります。 -
git pull
には毎分600のレート制限があります。
同じコマンドがgit-upload-pack
、git pull
、git clone
で共有されているため、これらはレート制限を共有します。
セルフマネジメントGitLabのユーザーは、このレート制限を無効にすることができます。
GitLab Shellオペレーション制限の設定
GitLab 16.2 で導入されました。
Git operations using SSH
はデフォルトで有効です。デフォルトはユーザー毎分600。
- 左側のサイドバーで、「Your work(自分の仕事)」 > 「Admin Area(管理エリア)」を選択します。
- 左サイドバーで、「設定」 > 「ネットワーク」を選択します。
- Git SSHオペレーションレートリミットを展開します。
- 1分あたりの最大Gitオペレーション数に値を入力します。
- 変更を保存を選択します。