iPerf2
Intel recommends iperf2 over iperf3 for most benchmarking situations due to the ease of use and support of multiple threads in a single application instance. Intel recommends running with the -P option with 2-4 threads for 25G connections and around 4-6 threads for 40G connections.
- To run uni-directional traffic from client to server:
Server command example:
iperf2 -s Client command example:
iperf2 -c <serverIP> -P <threads> - To run bi-directional traffic from client to server (and vice versa):
Server command example:
iperf2 –s –p <port> Client command example:
iperf2 -c <serverIP> -p <port> -P <threads> -–full-duplex OR
iperf2 -c <serverIP> -p <port> -P <threads> –d
Both the --full-duplex and -d options in iperf2 allow user to perform bidirectional testing. However, --full-duplex option specifically focuses on full duplex testing. When testing iperf2 across multiple server ports, the -d flag can be added to the server command to run all server sessions in the background from the same terminal window. The -d flag can also be used when the server command is embedded inside a for-loop in a script. When running the network throughput test with a single stream/thread (example: -P1), AMD processors may not provide expected throughput, particularly higher bandwidth NICs (if speed is >= 25G bandwidth). As a result, application pinning to specific cores is required to achieve higher throughput. See Application Settings.