8

I want perform a network performance benchmarking test so need to generate a 10 Gbps traffic in the network. The nodes are running RHEL 5.x. Can anyone please point me out to suitable binaries etc.

Can we use the iperf and netperf commands to perform this test?

John Gardeniers
  • 27,458
  • 12
  • 55
  • 109
Iliyas Shirol
  • 235
  • 1
  • 3
  • 6

3 Answers3

11

yes, iperf is the right tool for this. Make sure you use a long interval to allow the traffic stream to grow to 10GbE speeds. You may have to modify TCP window sizes to reach full saturation, as well. Here are some sample command lines...

On the server side:

iperf -s

On the client side:

iperf -c server.ip.address -w64k -t60

ewwhite
  • 197,159
  • 92
  • 443
  • 809
6

Sure, by all means.

One thing to watch out for with iperf is that you can bottleneck at the CPU - by default, it uses random data to nullify the effect of any tricky compression or deduplication of data.

If you have enough nodes, then it should be no problem to just use the default; if you find that the CPU is pegging, then override the input to something a little less intensive: -F /dev/zero

Also, depending on latency, TCP's ACKing may slow you down. To flood the pipes, use UDP with -u.

Whether you can actually generate 10 Gbps of data depends completely on the performance of your nodes and their network uplinks.

Shane Madden
  • 114,520
  • 13
  • 181
  • 251
2

To get speeds greater than 1Gbps, the -P flag will help you out.

iperf -c server.ip.example.com -P8 -w64k

From man iperf:

  -P, --parallel n
        number of parallel client threads to run

You don't have to do anything special on the server side. Just run iperf -s.

Rudy
  • 31
  • 1