これの違いは何ですか:
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
これの違いは何ですか:
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
回答:
あなたの場合:
平均で毎秒30リクエストを超えないようにし、バーストは5リクエストを超えないようにします。
リファレンス:http : //nginx.org/en/docs/http/ngx_http_limit_req_module.html
それがhttp://nginx.org/en/docs/http/ngx_http_limit_req_module.htmlでバーストについて言うように
過剰なリクエストは、その数が最大バーストサイズを超えるまで遅延されます
つまり、あなたの場合、最初の5つのリクエストは「無視」され、6以上のリクエストのみがカウントされます。したがって、リクエスト35では、30の制限に達します。次に、同じ原点からの同じ1秒以内のリクエスト36で、nginxはリクエストをさらに処理する代わりに503応答を送信します。
バーストは、それが次の1秒間遅延することを意味します。30リクエスト/秒を超えると、nginxは503エラーコードを送信します。
バーストはキューのように機能します