レート制限

レート制限とは、クライアント(多くの場合、コンピュータやモバイル端末上のアプリ)が一定期間内にサービスに対して送信できるリクエストの数の上限を制限することです。 クライアントが制限を超えた場合、サービスは制限がリセットされるまで、それ以降の要求を拒否または遅延させます(通常はHTTP 429 Too Many Requestsレスポンスを返します)。 レート制限は、サービスが過負荷になるのを防ぎ、ユーザー間の公平なアクセスを保証し、多くのAPIが提供する利用階層を適用する役割を果たします。

端的に言うと、レート制限とは特定の時間枠内で送信できるリクエスト数に上限を設けるものです。これにより、単一のクライアントがサービスに過大な負荷をかけたり、契約しているプランの制限を超えたりすることを防ぐことができます。

レート制限の仕組み

各クライアントの利用状況を、あらかじめ定められた利用枠に対して追跡するサービスです:

  1. 制限の設定:このサービスは、1秒あたり、1分あたり、または1ヶ月あたりなどのリクエスト数のクォータを設定します。これは多くの場合、APIキーやIPアドレスに関連付けられます。
  2. リクエストのカウント:受信する各リクエストは、固定ウィンドウ(設定された間隔でリセット)、スライディングウィンドウ(過去 N 秒間のリクエスト数を累積してカウント)、またはトークンバケット(一定のレートでリフィルする実行中の許容値)などのアルゴリズムを使用して、クォータに対してカウントされます。
  3. 許可または拒否:クライアントが制限を超えていなければ、リクエストは処理されます。クライアントが制限を超えている場合は、サービスはリクエストを処理せずに429レスポンスを返します。
  4. クライアントへの通知:サービスからのレスポンスヘッダーによって、状態が通知されます。 たとえば、「RateLimit-Remaining」のようなレスポンスヘッダーには残りのクォータが表示されます。「Retry-After」では、クライアントの再試行までの待ち時間を知らせます。
  5. リセット:指定された時間が経過すると、クォータがリセットされ、再びリクエストが受け付けられるようになります。

重要なのは、レート制限は契約であり、障害ではないという点です。429エラーは、サービス側がクライアントに処理速度を落とすよう求めているものであり、どこかに障害がある兆候ではありません。

レート制限とスロットリングおよびクォータの比較

  • レート制限とスロットリングはよく同じ意味で使用されますが、両者には違いがあります。レート制限は厳格な上限を設定し、その閾値を超えるリクエストを429エラーで拒否します。一方、スロットリングはリクエストを即座に拒否するのではなく、速度を落としたり、余分なリクエストをキューに格納します。
  • レート制限とは、通常、1秒または1分といった短い時間枠で設定される上限のことです。一方、クォータとは、通常、1日や1ヶ月といったより長い期間にわたって設定される、より大きな許容値を指します。 APIでは多くの場合、両方を同時に適用します。
  • 429レスポンスは、クライアントが制限を超過したことを意味し、Retry-After(設定されている場合)またはバックオフポリシーに従って一時停止し、再試行する必要があります。一方、503レスポンスは、クライアントのクォータの問題ではなく、サーバーが利用できない状態(過負荷、メンテナンス、またはその他のサーバー側の問題による)であることを意味します。

レート制限が重要になる場面

  • あらゆるAPIを基盤とした構築:適切に動作するクライアントは、Retry-Afterを遵守し、ジッターを伴う指数関数的バックオフ(リトライ間の待機時間を徐々に長くし、複数のクライアントが同時にリトライすることを避けるためにランダム性を加える)を適用し、RateLimit-Remainingを監視して上限に達する前に処理速度を落とすようにします。
  • 高負荷かつエージェント型ワークロード:ループ内で多数の呼び出しを実行する エージェント型検索 システムは、すぐに制限に達してしまう可能性があるため、リクエストのキューイングとバックオフが不可欠です。
  • クロール:サイトから繰り返し429エラーが返される場合、検索クローラーは正常な応答が再開されるまで、そのサイトに対するクロールバジェットを減らします。
  • 検索API検索API では、プランごとにレート制限(通常は1秒あたりまたは1ヶ月あたりのリクエスト数)が設定されているため、ティアを選択する際は、予想されるクエリ量に合わせて制限値を設定する必要があります。 429エラーの適切な処理によって、トラフィックが急増した場合もレスポンスパイプラインの信頼性を維持できます。制限値をより高く予測可能な値に設定すると、主に処理量とクライアント側のキューイングに影響を与えますが、レイテンシ による影響は通常間接的であり、ワークロードに依存します。

レート制限は、クライアントとAPI間の契約の一部です。対抗するのではなく、これを踏まえた設計を行うことが、統合の規模が拡大しても安定性を維持し続けるための鍵となります。

関連する用語

スループット、レイテンシ、HTTP 429、Retry-After、指数関数的バックオフ、クォータ、API キー、クロールバジェット検索API

Brave logo

もう少しです...

Braveのインストールを .

Braveのインストールを .

最高のオンラインプライバシーを60秒で入手

  1. Brave をダウンロード
  2. インストーラーを実行
  3. インポート設定
  1. ステップ 1
    Brave をダウンロード

    Chromeのダウンロード(通常はこのウィンドウの右上に表示されています)からインストーラーを開きます。

  2. ステップ 2
    インストーラーを実行

    プロンプトが表示されたら、ユーザーアクセスコントロールダイアログで "Yes "をクリックします。

  3. ステップ 3
    インポート設定

    インストールが完了するまで待ち、次にChromeからブラウザ設定をインポートします。

ダウンロードが自動で開始しない場合は、こちらをクリックしてください: .

ヘルプが必要ですか?