Ok, I have a virtual machine which has a residual kernel of 3.16.0-0.bpo.4 (Debian wheezy-backport's) available I confirmed the issue is replicatable on that machine too.
The testing methodology is using ab from 12 other remote servers (hopefully in order to prevent collisions) at a fairly low rate of 1r/s (the virtual machine with this older kernel is not particularly large). During this testing zero requests where received at one sampled process, while the first process showed approximately 10% CPU usage.
On Wed, Nov 25, 2015 at 12:42 AM, Valentin V. Bartenev email@example.com wrote:
On Wednesday 25 November 2015 00:25:19 SplitIce wrote:
I couldn't find anything in the mailing list about this issue, surely we are not the only one?
When activating reuseport I am seeing all requests be served from a
nginx process. All others are just idling (SIGALARM interruption of epoll_wait / epoll_wait timeout according to strace).
Process 442 attached - interrupt to quit epoll_wait(60, 8225010, 512, 4294967295) = -1 EINTR (Interrupted system call) --- SIGALRM (Alarm clock) @ 0 (0) --- rt_sigreturn(0xe) = -1 EINTR (Interrupted system
epoll_wait(60, 8225010, 512, 4294967295) = -1 EINTR (Interrupted system call) --- SIGALRM (Alarm clock) @ 0 (0) ---
This only occurs with reuseport, as soon as it is disabled the load is correctly distributed again.
Configuration: worker_processes 12; # 2x8 cores on server multiple server blocks on different IP's and ports with reuseaddr. Linux kernel: 3.18.20
Server nic has interrupts over all cores:
# sudo ethtool -S eth0 |grep rx | grep pack rx_packets: 11244443305 rx_queue_0_packets: 1381842455 rx_queue_1_packets: 1373383493 rx_queue_2_packets: 1490287703 rx_queue_3_packets: 1440591930 rx_queue_4_packets: 1378550073 rx_queue_5_packets: 1373473609 rx_queue_6_packets: 1437806438
We have also experimented with disabling iptables and anything else on
server that could be interfering. I have also loaded it onto three other fresh servers with the same kernel (same OS image), but with different
cards (with and without multiple rx queues) with no changes.
This has me stumped. Ideas?
You should try another kernel.
wbr, Valentin V. Bartenev
nginx-devel mailing list firstname.lastname@example.org http://mailman.nginx.org/mailman/listinfo/nginx-devel