How to use iperf3 in multi-thread mode for 10Gps+ Ethernet testing

With 10GbE becoming more widespread and often found in entry-level hardware, the CPU may become the bottleneck, so I’ll explain how to use iperf3 in multi-thread mode to fully saturate the 10GbE bandwidth even with a system based on a relatively low-end multi-core processor.

I’m currently reviewing the iKOOCORE R2 Max mini PC with two 10GbE interfaces and an entry-level Intel Processor N100 quad-core CPU. I have two mostly identical R2 Max systems: one fanless running OpenWrt fork (QWRT) acting as a server, and one actively cooled running Proxmox VE without guest OS. When I test the upload speed with iperf3, it’s fine at 9.41 Gbps, but the download speed is limited to about 8.6 Gbps, and bidirectional is worse:


The overall system CPU usage is around 30% during the test, but we can clearly see that only one CPU core is used with 100% usage.

iperf3 single core CPU usage

People using servers with high-speed 40+ Gbps Ethernet have done this type of testing for a while, but it required multiple commands. Luckily, iperf 3.16 has added support for multithreading and it’s now much easier. But I was unable to find clear instructions with a web search, so here we are.

First, we need to check the iperf3 version on our systems is indeed 3.16 or greater

OpenWrt/QWRT:


Proxmox VE 8.3.1:


It’s fine on OpenWrt, but the version is too old on Promox VE, so I built the freshly released iperf 3.18 from source:


We can now launch iperf3 in server mode on the OpwenWrt machine as usual:


and add the P parameter on the client side (Proxmox VE) to run iperf3 in multi-thread mode for the download test:


Here’s the output:


The output is quite verbose with an interval of 10 seconds and four threads, but the important part is that we got the full 9.41 Gbps bandwidth.

Let’s now try a full duplex (i.e. bidirectional test):


Output:


Looking at the [SUM][TX-C] and [SUM][RX-C] summary over the one-minute test, we can see 9.40 Gbps transfers in both directions. Success!

iperf3 multi thread HTOP CPU usage

HTOP shows multiple iperf3 instances nicely distributed over all four cores of the Intel N100 processor.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX Rockchip RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
0 Comments
oldest
newest
Boardcon Rockchip RK3588S SBC with 8K, WiFI 6, 4G LTE, NVME SSD, HDMI 2.1...