On my CentOS 7 server, the load on each core is unequally distributed, as seen in the screenshot: some nginx worker seem to take way more load than other. irqbalanceis enabled, hyperthreading disabled.
CPU 2 has at least a statsd task in addition to its nginx task. Migrating tasks to different CPUs is expensive, so not surprising that the scheduler stays like this for a while.
Load average of 7 to 8 on a 16 CPU system indicates that there are more CPUs than tasks ready to run. Remember that CPU usage does not mean what you think it does, often CPU time is actually stalled waiting for memory or I/O.
Better, but more difficult to measure, performance metrics are focused on the user experience rather than host metrics. Perhaps request response time for nginx.
CPU 2 has at least a statsd task in addition to its nginx task. Migrating tasks to different CPUs is expensive, so not surprising that the scheduler stays like this for a while.
Load average of 7 to 8 on a 16 CPU system indicates that there are more CPUs than tasks ready to run. Remember that CPU usage does not mean what you think it does, often CPU time is actually stalled waiting for memory or I/O.
Better, but more difficult to measure, performance metrics are focused on the user experience rather than host metrics. Perhaps request response time for nginx.