James Kehr here with the Microsoft Commercial Support – Windows Networking team. This article will explain why you should not use iPerf3 on Windows for synthetic network benchmarking and testing. Fo...
An interesting piece. For me through, the problem with iPerf3 isn't the emulation-related bottleneck or the resulting performance penalty; that's not such a big deal. What matters more, especially in Wi-Fi testing, is this:
(a) A picture is worth a thousand words. When I run a test, I want to watch a live chart with all its spikes and dips, for multiple metrics like throughput, latency, and jitter, especially when we're dealing with a "moving target," such as a laptop being carried from one room to another while testing coverage and throughput in a large office or mall. A one-off test with a command-line tool doesn't quite cut it; I want to see real-time visualization, and even have a "quick save" option for the chart.
Apollo100 mentioned a browser-based test that addresses the "I want to see the chart" problem, as long as you run your own local server, of course. Otherwise, you'll end up measuring a mix of WAN and LAN links without any chance of figuring out where the bottleneck lies. So yes, for casual TCP-only testing, that's not bad, unless you need a continuous test that runs for more than a few seconds. But read on...
(b) QoS / DSCP: It's sometimes important to check how a network behaves for specific types of traffic, e.g., Voice vs. Best Effort. While iPerf3 can apply DSCP tags to TCP and UDP traffic on Linux, it fails to do so on Windows. Ntttcp, as far as I know, doesn't support this functionality at all. Not crucially important, but would be nice, though.
(c) Reports: iPerf3 can output results in JSON; Ntttcp can't. IMO, it wouldn't take much effort to produce both machine-readable (JSON, CSV, XML) and human-readable (HTML) reports.
So, at the end of the day, neither iPerf3 nor Ntttcp fully fits the bill, although both are great tools for certain use cases. If you share my pain, you may want to try Tessabyte Speed Test (https://www.netmantics.com). It provides charts, reports, QoS / DSCP support, and most of the usual features you'd expect from a professional throughput-testing tool (TCP, UDP, jitter, latency, etc.). Runs natively on Windows, macOS & Linux (+ docker). That's what it looks like: