Nginx limit_req設定のバーストの定義は何ですか?


9

これの違いは何ですか:

limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood nodelay

そして:

limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood burst=5 nodelay

ドキュメントhttp://wiki.nginx.org/HttpLimitReqModule

回答:


1

あなたの場合:

平均で毎秒30リクエストを超えないようにし、バーストは5リクエストを超えないようにします。

リファレンス:http : //nginx.org/en/docs/http/ngx_http_limit_req_module.html


2
その定義で定義されている単語を使用してもあまり役に立ちません。limit_reqのコンテキストでの「バースト」とは何ですか?(他の回答はこれに答えます)
Jahed

15

それがhttp://nginx.org/en/docs/http/ngx_http_limit_req_module.htmlでバーストについて言うように

過剰なリクエストは、その数が最大バーストサイズを超えるまで遅延されます

つまり、あなたの場合、最初の5つのリクエストは「無視」され、6以上のリクエストのみがカウントされます。したがって、リクエスト35では、30の制限に達します。次に、同じ原点からの同じ1秒以内のリクエスト36で、nginxはリクエストをさらに処理する代わりに503応答を送信します。


6

バーストは、それが次の1秒間遅延することを意味します。30リクエスト/秒を超えると、nginxは503エラーコードを送信します。

バーストはキューのように機能します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.