Open scarlet-storm opened 4 years ago
Hello @LeaflessMelospiza,
Any networking benchmarks can not always allow to reconstruct real world application behavior.
haproxy has own specific and it has not been studied well to have recommended optimal VMA configuration.
You can try to compile VMA using --enable-tso
configuration option.
I have observed the bandwidth and latency improvements in benchmark applications like sockperf and iperf with use of libvma for small TCP message sizes. Hence, I am trying to evaluate the performance improvement of haproxy with libvma for analysing use of libvma in layer 7 load balancing. I have a setup of two machines running nginx servers and haproxy is configured in http mode with round robin load balancing. I am using wrk as a load generator from another machine on the network to benchmark the haproxy setup. Without libvma I have results for the given test from wrk as
Running with libvma
Also running with VMA_SPEC=latency
Both average latency and total bandwidth stats are lesser with libvma. I have tried following the tuning guide to bind the process to same NUMA node as the NIC and to cores but the results are still worse. This behaviour is strange as vma_stats shows all the packets as offloaded.
Are there any tips to tuning libvma paramters to increase performance for this particular workload?
haproxy config file for reference.
Config: VMA_VERSION: 8.9.5-0 OFED Version: MLNX_OFED_LINUX-4.7-3.2.9.0 System: 4.9.0-9-amd64 Architecture: x86_64 NIC: ConnectX-5 EN network interface card