High load due to reload


nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Hello!

On Tue, Jun 23, 2015 at 11:14:44AM +0200, 5hosting GmbH wrote:

I have a small problem with a nginx system that acts as a loadbalancing
proxy. We do have lots of vhosts and ssl certificates and each time we do a
/etc/init.d/nginx reload, the load of our server goes up to 20 due to
swapping.

Is there any other way to reload nginx to get aware of ssl or vhost changes
without getting high loads?

When reloading a configuration, nginx reads a new configuration
and starts new worker process, and then asks old worker processes
to terminate gracefully. See this link for a detailed
description:

http://nginx.org/en/docs/control.html#reconfiguration

This basically means that during configuration reload nginx memory
consumption grows up for a while (and roughly doubles in some
cases). You should tune your system appropriately to make sure
there are enough memory to start new worker processes without
swapping. In particular, if most of the memory is used for nginx
buffers (proxy_buffers, proxy_buffer_size, and so on), tuning
these buffers usually is enough.


Maxim D.
http://nginx.org/

Hi Maxim,

thanks for your explanation. Is there a formula we can use to calculate
the
amount of RAM needed in a reload scenario?

Thanks, Jrgen

-----Ursprngliche Nachricht-----
Von: [email protected] [mailto:[email protected]] Im Auftrag
von
Maxim D.
Gesendet: Samstag, 04. Juli 2015 08:05
An: [email protected]
Betreff: Re: High load due to reload

Hello!

On Tue, Jun 23, 2015 at 11:14:44AM +0200, 5hosting GmbH wrote:

I have a small problem with a nginx system that acts as a
loadbalancing proxy. We do have lots of vhosts and ssl certificates
and each time we do a /etc/init.d/nginx reload, the load of our server
goes up to 20 due to swapping.

Is there any other way to reload nginx to get aware of ssl or vhost
changes without getting high loads?

When reloading a configuration, nginx reads a new configuration and
starts
new worker process, and then asks old worker processes to terminate
gracefully. See this link for a detailed
description:

http://nginx.org/en/docs/control.html#reconfiguration

This basically means that during configuration reload nginx memory
consumption grows up for a while (and roughly doubles in some cases).
You
should tune your system appropriately to make sure there are enough
memory
to start new worker processes without swapping. In particular, if most
of
the memory is used for nginx buffers (proxy_buffers, proxy_buffer_size,
and
so on), tuning these buffers usually is enough.


Maxim D.
http://nginx.org/

Hello!

On Mon, Jul 06, 2015 at 08:45:53AM +0200, 5hosting GmbH wrote:

thanks for your explanation. Is there a formula we can use to calculate the
amount of RAM needed in a reload scenario?

As previously suggested, nginx memory consumption during a reload
may be doubled compared to normal operations - because there will
be twice as much worker processes. Having at least the same
amount of memory as normally occupied by nginx worker processes
(excluding shared memory zones) in (free + inactive) is usually
good enough to ensure seamless reloads.


Maxim D.
http://nginx.org/