I want to test what's the max netwotk bandwidth our Linux server can handle.
I use one Dell R710 with two quad-core Intel cpu and 16GB memory.
I install two Intel 82575Gb pcie cards, each has 4 ports
And onboard there are 4 Broadcom BCM5709Gb ports.
So I have total 12 Gb nic ports.
I wrote a simple udp test program to send non-stop dummy udp data through specific nic using connect().
So when I start one program to send udp data through one nic, I can see network throughput is around 116MB/s for that nic.
This is resonable result.
Then I start another test program to send udp using another nic.
The final max network throughput I got is around 1GB/s. That means I can start only 10 test programs.
One more started program will downgrade throughput dramatically.
My question is, is that possible to use all 16 ports to send data in full speed?
Is there any throughput limitation Linux supports?
I modify some udp sysctl parameter but didn't work.
The memory seems big enough, and CPU still has enough resource.
Can anyone helps me how to tweak system?
How about 10Gb nic? If I install two of them I can't get them reach full speed.
Any help is welcome.
Thanks
Best Answer
Just on the topic of maxing traffic, instead of writing your own udp test program, iperf (iperf package in Debian/Ubuntu) is a great tool to generate TCP bandwidth, but it require a remote host with Linux with same or better network capacity:
Remote host:
On host I want to test: