¿Cuál es la definición de una ráfaga en la configuración de Nginx limit_req?

9

¿Cuál es la diferencia entre esto?

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

y:

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

Documentación http://wiki.nginx.org/HttpLimitReqModule .

Gajus
fuente

Respuestas:

1

En tu caso:

No permita más de 30 solicitudes por segundo en promedio, con ráfagas que no excedan de 5 solicitudes.

Referencia: http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

Alan Ivey
fuente
2
Usar la palabra que se define en su definición no es muy útil. ¿Qué es una "explosión" en el contexto de limit_req? (Las otras respuestas responden esto)
Jahed
15

Como dice sobre burst en http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

Las solicitudes excesivas se retrasan hasta que su número excede el tamaño máximo de ráfaga

Esto significa que, en su caso, las primeras 5 solicitudes se 'ignoran' y solo se cuentan las solicitudes de 6 en adelante. Entonces, a pedido 35 se alcanza el límite de 30. Luego, a pedido 36 dentro del mismo 1 segundo proveniente del mismo origen, nginx enviará una respuesta 503 en lugar de tratar la solicitud más.

RavanH
fuente
6

Ráfaga significa que se retrasará el próximo segundo, si hay un exceso de 30 solicitudes / segundo, entonces nginx envía el código de error 503.

Burst funciona como una cola

Gaptek Update
fuente