netisr process eats 100% cpu

hiren panchasara hiren at strugglingcoder.info
Thu Sep 10 20:27:41 UTC 2015


On 09/10/15 at 07:45P, Dmitry Sivachenko wrote:
> Hello!
> 
> I am using fresh FreeBSD-10/stable.
> 
> I have a program which establish a TCP connection to server and sends a lot of small requests over it.
> I put haproxy load balancer working in TCP mode in the middle, which listens some port on localhost.
> 
> Under the relatively low network load (20MB/sec, ~100 kpps), netisr process starts to consume close to 100% CPU, and does not allow to utilize more network bandwidth:
> 
>    11 root         -72    -     0K   944K CPU27  27   0:34  98.06% intr{swi1: netisr 0}
> 
> If I do not pass traffic through haproxy but connect directly to remote server, netisr process consumes 0% CPU and everything works well.
> 
> Is it rather expected or this can be fixed?

Unsure at the moment if loopback is causing the trouble for you or not.
See:
https://lists.freebsd.org/pipermail/freebsd-net/2015-February/041239.html

You may want to try:
1) pmcstat and see if you can catch something
2) disable checksum on localhost
3) look at netisr settings. sysctl net.isr o/p and how it looks under
netstat -Q. I am not sure if adding more threads to netisr via
net.isr.numthreads would help. (Note its a loader.conf variable)

As I said, I am not sure whats up. Just throwing some ideas here.

Cheers,
Hiren
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 603 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20150910/885f5469/attachment.bin>


More information about the freebsd-net mailing list