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
pgpKCe7OFKmn6.pgp
Description: PGP signature