I’m new to the community and this is my first post. Here is my question.
We got some 200Gbps IB card and 200Gbps switch.
The IB adapters are installed in 2 servers, each has PCIeGen4 X16 and 1 amd CPU(NUMA not bothers)
We test the bandwidth with ib_send_bw --run_infinitely and observe the traffic with collectl -sX, 22GB/s is reached.
We setup the ipoib with connected mode and ipoib_enhanced is set to 0. We test the TCP performance with iperf3. The performance is about 25Gbps for single TCP connection. As we setup more TCP connections, the performance increased up to 80Gbps. And we find out ksoftirqd used up one CPU core at receive side server.
Analysis and tried:
- We use dstat --top-int and find out the interrupt mlx5_comp1 occurs 60k/s.
- We check /sys/class/net/ib0/queues/ and find out only one recv queue rx-0
- Adjust /sys/class/net/ib0/queues/rx-0/rps_cpus seems not works
- We try to set ipoib_enhanced=1 and ib0 in datagram mode, and iperf3 report packaget drops and the total speed is about 56Gbps.
So the questions is:
What should I tune the system to make iperf3 get performance of 200Gbps?