bandwidth limit for specific server
Francis Daly
francis at daoine.org
Wed Dec 22 23:47:44 UTC 2021
On Sat, Dec 18, 2021 at 01:37:11PM +0800, huiming wrote:
Hi there,
> Is it possible to limit total bandwidth for server?
Using only stock nginx, I believe the answer is "yes, but not in a way
that you would want; so effectively no".
You can limit the number of concurrent (active) connections; you can
limit the rate of requests that nginx will process; and you can limit
the response bandwidth for each request.
By combining those, you can put an upper limit on the response bandwidth;
but I suspect that it is unlikely to be useful for you.
You might be happier looking for a third-party module that does some
form of internal bandwidth limiting; or use something outside of nginx
to limit the bandwidth.
The latter would probably be simpler if your chosen server_name was
the only one this nginx handled; or if the IP address were dedicated to
this server_name -- in those cases, the external thing would not need to
know much (or anything?) about what nginx is doing; it could just handle
"traffic from this process group", or "traffic from this IP address".
> server {
> listen 443 ssl;
> server_name x.x.x.x.x;
>
>
> is it possible to limit total bandwidth for this server to for example 5M ? not to limit TCP connection bandwidth. need total bandwidth.
It is using the TCP connection bandwidth limit; but if you were to
"limit_rate" to 1m and "limit_req" to 5 r/s, then you would not use
more than 5M (bps) -- but you would probably normally end up using less
than that; because individual requests would not use 5, while multiple
requests would probably lead to lots of small failure responses.
Good luck with it,
f
--
Francis Daly francis at daoine.org
More information about the nginx
mailing list