Qual é a diferença entre isso:
limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood nodelay
e:
limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood burst=5 nodelay
Documentação http://wiki.nginx.org/HttpLimitReqModule .
Como diz o burst em http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
Isso significa que, no seu caso, as 5 primeiras solicitações são 'ignoradas' e apenas as solicitações 6 e superiores são contadas. Portanto, a pedido 35, o limite de 30 é atingido. Em seguida, no pedido 36 dentro do mesmo 1 segundo proveniente da mesma origem, o nginx enviará uma resposta 503 em vez de tratar o pedido ainda mais.
fonte
Burst significa que será adiado pelo próximo segundo, se houver um excesso de 30 solicitações / segundo, o nginx enviará o código de erro 503.
O Burst funciona como uma fila
fonte