Computer

Iperf3, Microsoft rejects its use in Windows for network monitoring. Here because

Iperf3, Microsoft rejects its use in Windows for network monitoring.  Here because

Among the most popular tools for monitoring network performance there is certainly iperf3. It is an open source software for benchmarking of the network that works in client-server mode: that is, it is necessary to run an instance ofiperf3 as a server on one machine and another instance as a client, on another device, to start the measurements.

Once the connection is established,iperf3 begins to transfer data from client to server (and vice versa, if necessary). Measure the transfer speed data, logs any transmission errors and provides detailed statistics on network performance.

At the end of the measurement session,iperf3 provides a complete report of the network performance, including parameters such as average bandwidth, latency, jitter and so on: it allows you to carry out a local speed test, checking for any anomalies.

Microsoft invites you not to use Iperf3 in Windows: these are the reasons

iperf3 is software maintained by an organization called ESnet (Energy Sciences Network). Microsoft does not recommend its use in a Windows environment, first of all because the application does not perform native calls using the Redmond company’s APIs but only called Linux/POSIX.

Theiperf3 community uses Cygwin come emulation level which allows the utility to operate on Windows. However, this comes with potentials compatibility issues and performance, as not all hyperf3 features are supported on Windows. The emulation itself may be responsible for performance dropsespecially when latency-sensitive parameters need to be verified.

James Kehr, from the Microsoft Windows Networking team, says that the developers ofiperf3 also do not recommend using their application in Windows. While the Redmond company suggests falling back, instead ofiperf3, on alternative tools such as ntttcp (Windows NT Test TCP) e ctsTraffic. Both, in fact, are native Windows programs that ensure better performance compared toiperf3 and reliable results.

How to use ntttcp

ntttcp is a native Windows tool that allows synthetic network tests to be performed across multiple platforms, including Windows and Linux. THE synthetic network tests they are designed to simulate and evaluate the performance of a network under controlled and reproducible conditions. They use software or hardware tools to artificially generate network traffic and measure various parameters, such as bandwidth, latency, packet loss, and other performance metrics.

Microsoft provides a couple of examples for start the server and the client ntttcp and run data transfer tests on a given connection, with specific parameters to control test duration, buffer length, and other details.

To activate the ntttcp server module (the project is maintained on GitHub), you can use the following syntax:

ntttcp -r -m 1,*,<IP> -t 60

The first option -r specifies starting the ntttcp server; -m 1,*,<IP> indicates the number of thread used (in this case, only one thread); the asterisk expresses none CPU affinity -t 60 that is, it specifies that the process can run on any core. The last option

indicates the duration of the test, expressed in seconds.

ntttcp -s -m 1,*,<IP> -l 128K -t 60

On the client side, the following command will send network traffic to the specified ntttcp server IP: -l 128K The reference to set the buffer length

used for network transfers. In this case, the buffer is set to 128 KB.

How to use ctsTraffic A utility very similar to ntttcp isctsTraffic

, also recommended by Microsoft. Also available on GitHub, ctsTraffic also uses a command line-based client-server approach.

ctstraffic.exe -listen:* -Buffer:"$(128KB)" -Transfer:"$(1TB)" -ServerExitLimit:1 -consoleverbosity:1 -TimeLimit:60000

To start the server module, for example, the Redmond company suggests the following syntax:

The proposed instruction specifies that the ctsTraffic server listens on all available network interfaces, sets the buffer length to 128 KB, transfers 1 TB of data, asks to stop the server after a single transfer, and configures the console verbosity to display details while the test is running. The time limit for running the test is set at 60,000 milliseconds, or 60 seconds.

ctstraffic.exe -target:<IP> -Connections:1 -Buffer:"$(128KB)" -Transfer:"$(1TB)" -Iterations:1 -consoleverbosity:1 -TimeLimit:60000

On the client side, however, you can use the following command: The reference totarget

, allows you to indicate the IP address of the server to which to send the data. Next you specify the number of simultaneous TCP connections that the client will use to send data to the server, in this case, one. The other options overlap with those already seen previously. In general, the most reliable results appear to be produced by a tool

come ntttcp.

Leave a Reply

Your email address will not be published. Required fields are marked *