Яке визначення сплеску в налаштуваннях 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. Потім на запит 36 протягом тієї ж 1 секунди, що надходить від того самого початку, nginx надішле відповідь 503, а не обробляти запит далі.


6

Вибух означає, що він буде відкладений на наступну секунду, якщо буде більше 30 запиту / секунду, то nginx надішле код помилки 503.

Вибух працює так само, як і черга

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.