Possible to have a limit_req "nodelay burst" option?
mdounin at mdounin.ru
Mon Apr 15 22:38:03 UTC 2013
On Mon, Apr 15, 2013 at 06:18:04PM -0400, Richard Stanway wrote:
> I'm using the limit_req directive to control the rate at which my backends
> are hit with requests. Typically a backend will generate a page and the
> client will not request anything for a short while, so a rate of 1 per
> second works well. Sometimes however a backend will return a HTTP redirect,
> and then the client must wait for a one second delay on the request to the
> redirected page. I'd like to avoid this if possible to avoid the slow
> feeling when users click on redirected links.
> The nodelay option looked like it would work at first glance, but this
> bypasses the delay completely for all requests up to the burst, so it's
> still possible for the backend to be hit with many requests at once.
> Ideally I would like to have a "nodelay burst" option to control how many
> of the burst requests are processed without delay which I could set to 2 in
> my situation, while still delaying any further requests beyond that.
... and next time you'll notice that site feels slow on a page
which uses 2 redirects in a row, or includes an image/css from a
backend, or user just clicks links fast enough.
I would recommend just using "limit_req ... nodelay" unless you
are really sure you need a delay in a particular case.
More information about the nginx