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

Attachment: pgpKCe7OFKmn6.pgp
Description: PGP signature

Reply via email to