2 of 16 cores are constantly maxing out - how to balance the load?

Lucas Rolff lucas at lucasrolff.com
Thu Jan 11 10:59:51 UTC 2018

In high traffic environments it generally make sense to “dedicate” a core to each RX and TX queue you have on the NIC – this way you lower the chances of a single core being overloaded from handling network and thus degrading performance.

And then at same time within nginx, map the individual processes to other cores.

So, let’s say say you have 8 cores and 1 RX and 1 TX queue:
Core 0: RX queue
Core 1: TX queue
Core 2 to 7: nginx processes

You’d then set nginx to 6 workers (if you’re not running other stuff on the box).

Now, in your case with php-fpm in the mix as well, controlling that can be hard ( not sure if you can pin php-fpm processes to cores ) – but for nginx and RX/TX queues, it’s for sure possible.

From: nginx <nginx-bounces at nginx.org> on behalf of Raffael Vogler <raffael.vogler at yieldlove.com>
Reply-To: "nginx at nginx.org" <nginx at nginx.org>
Date: Thursday, 11 January 2018 at 11.55
To: "nginx at nginx.org" <nginx at nginx.org>
Subject: Re: 2 of 16 cores are constantly maxing out - how to balance the load?

Or would it make sense (if possible at all) to assign two or three more cores to networking interrupts?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20180111/659e258b/attachment-0001.html>

More information about the nginx mailing list