IPERF3 vs. IMIX: which one is Real Life?

Netgate lists IPSec performance for their hardware using both the IPERF3 and IMIX measurement methodologies.

Which of those two throughputs can one expect to see in real life? I am asking because the claimed throughputs differ by a factor of 3-4.

My understanding is that packet size plays a big factor.

The following may aid in answering my question:
My primary uplink via Deutsche Telekom VDSL is so abysmal, I had to clamp the link to the DSL modem to an MSS of 1452 to be able to send Signal messages from my iPhone or use DuckDuckGo as a search engine from any system on my LAN.

Note that per the pfSense docs and GUI “MSS clamping for TCP connections [is set] to the value entered above minus 40 for IPv4 (TCP/IPv4 header size) and minus 60 for IPv6 (TCP/IPv6 header size).”

Meaning my actual MSS requires to be set to 1412 to be able to send Signal messages or access DuckDuckGo at all.

Unless the pfSense docs or code are wrong. Alas, the code looks correct to me.

My secondary uplink is Starlink. Haven’t yet probed what size packets will fit through it.

Given the above, when evaluating router/firewall products performance stats, should I look at the IPERF3 or the IMIX numbers? Which will be closer to reality? Thanks!

Neither are going to be able to convert exactly to real world due to the high number of variables that go into actual traffic. IMIX is going be be closer thoug.

Neither is real life, but which one is closest depends on what you’re doing. The best test to use depends on what you want to optimize.

For most people, measuring things for their home networks, iperf3 is good because it tells you what throughput you can get for a single or small number of TCP connections or UDP endpoints (which is what most residential traffic is.) Or, if you’re measuring for a particular application that sends high bandwidth information between a relatively small number of endpoints, iperf3 is best.

IMIX is for measuring the performance of Internet routers – not the ones on your home network, but the ones that create the Internet itself. It’s an average of typical traffic for “somewhere in the Internet” and includes both residential and industrial traffic, from a wide variety of sources and applications. So, if you’re hosting a small service network behind the router you’re testing (e.g., if you’re hosting a web service at home … probably not a good idea) then IMIX would be better. If you’re trying to see how your solution would work “out in the wild” and in the fabric of the internet, IMIX would be better.

Also, keep in mind that IMIX is from 2004, so the actual mix of traffic on the internet may have changed since then.

IMIX is not simply from 2004 and most companies use https://trex-tgn.cisco.com/ to generate the traffic which does account for modern uses.

1 Like