这有什么区别:
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错误代码。
爆发就像一个队列