認証済みユーザーレート制限
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Dedicated
GitLab Dedicatedは、システムの安定性を確保し、インスタンス上のすべてのユーザーのパフォーマンスを維持するために、認証済みユーザーレート制限を自動的に適用します。レート制限により、特定のユーザーまたはサービスアカウントが過剰なアラートを生成したり、インスタンスの広範囲な性能低下を引き起こしたりすることを防ぎます。
ユーザーがレート制限を超えると、GitLabは429 Too Many Requests HTTPステータスコードを返し、Retry laterというプレーンテキストのレスポンスを返します。
レート制限は、GitLabによって自動的に設定および管理されます。次の操作は行えません:
- レート制限の値を変更する。
- レート制限を無効にする。
- 管理者エリアからカスタムレート制限を設定する。
- UIでレート制限の設定にアクセスする。
GitLabは、インスタンスの最適なパフォーマンスと安定性を確保するために、これらの設定を管理します。
詳細については、レート制限を参照してください。
リクエストタイプ別のレート制限
レート制限は、標準ユーザーやサービスアカウントを含む、すべての認証済みユーザーに適用されます。GitLabは、リファレンスアーキテクチャの規模に基づいてこれらの制限を自動的に設定します。制限は、APIとWebリクエストに対してそれぞれ個別に適用されます:
- APIリクエスト: インテグレーション、CI/CDジョブ、自動化スクリプトからのリクエストを含む、RESTおよびGraphQL APIコール。
- Webリクエスト: GitLab UIを通じて行われたリクエスト。
| リファレンスアーキテクチャ | 1分あたりのAPIリクエスト | 1分あたりのWebリクエスト |
|---|---|---|
| 1,000ユーザー | 1,200 | 120 |
| 2,000ユーザー | 2,400 | 240 |
| 3,000ユーザー | 3,600 | 360 |
| 5,000ユーザー | 6,000 | 600 |
| 10,000ユーザー | 12,000 | 1,200 |
| 25,000ユーザー | 30,000 | 3,000 |
| 50,000ユーザー | 60,000 | 6,000 |
詳細については、リファレンスアーキテクチャを参照してください。
レスポンスヘッダー
GitLabは、すべてのリクエストのレスポンスヘッダーにレート制限情報を含めます。これらのヘッダーを使用して、現在の使用状況と残りのクォータを監視できます。
どのレート制限にレスポンスヘッダーが含まれるか、および利用可能なヘッダーについては、複数のレート制限システムを参照してください。
リクエストの効率性を改善する
レート制限をより効果的に扱うには:
リクエストパターンを最適化する:
- 自動化スクリプトで、リクエスト間に遅延を入れる。
- 可能な場合は、APIリクエストをまとめる。
- GraphQLを使用して、必要なデータのみをフェッチする。
- 大規模データセットに対して、効率的なページネーションを実装する。
大量使用を監査し、最適化する:
- 最も多くのリクエストを行っているユーザーまたはサービスアカウントを確認する。
- 過剰なAPIコールを行っているCI/CDジョブを確認する。
- GitLabインスタンスに接続しているインテグレーションを確認する。
- レート制限のしきい値を下回るように、自動プロセスを更新する。