Nginx的limit_req设置中突发的定义是什么?

这有什么区别:

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 。

在你的情况下:

平均每秒不超过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的限制。 然后,根据请求36在同一个来源的相同的1秒内,nginx将发送一个503响应,而不是进一步处理请求。

突发意味着它将被延迟下一秒,如果有超过30个请求/秒,则nginx发送503错误代码。

爆发就像一个队列