I put FreeBSD 10.2 amd64 inside a VM with 2 CPU cores running on ESXi 5.5, and installed HAProxy and VMware tools. Idea was to get several hundred MB/sec per single TCP connection. Network is pure 10 GigE with low latency (RTT less than 10ms). Physical hosts running Linux act as client and server. My /boot/loader.conf on the proxy loads the stock vmx.ko instead of the driver that comes with VMware tools:
autoboot_delay=5 vmx_load="YES" carp_load="YES" hw.vmx.txnqueue=8 hw.vmx.rxnqueue=16 hw.vmx.txndesc=4096 hw.vmx.rxndesc=2048 cc_htcp_load="YES" net.link.ifqmaxlen=2048 net.isr.defaultqlimit=2048 net.isr.maxqlimit=40960 # net.isr.maxthreads=2 # net.isr.numthreads=2 # net.isr.bindthreads=1My /etc/sysctl.conf:
hw.intr_storm_threshold=9000 kern.random.sys.harvest.ethernet=0 kern.random.sys.harvest.point_to_point=0 kern.random.sys.harvest.interrupt=0 net.inet.carp.preempt=1 net.inet.tcp.cc.algorithm=htcp net.inet.tcp.sendspace=1048576 net.inet.tcp.sendbuf_max=10485760 net.inet.tcp.sendbuf_inc=131072 net.inet.tcp.recvspace=1048576 net.inet.tcp.recvbuf_max=10485760 net.inet.tcp.recvbuf_inc=131072 net.inet.ip.fastforwarding=1 net.route.netisr_maxqlen=2048This VM pushes 300MB/sec avg. per TCP connection. No special tuning for haproxy needed, though. Your mileage may vary.