iPerfman Help



Test how fast and reliable is Wi-Fi and Ethernet?

Online tests like Speedtest、Netflix‘s FAST and DSLReports will tell you how fast your Internet connection is overall, but the speed of your service provider isn’t the only factor. Wi-Fi itself can greatly affect speed, latency, and reliability. And as broadband Internet connections get faster and faster, Wi-Fi has often become a bottleneck. iPerfman helps you test the speed and volatility of your Wi-Fi connection. iPerfman helps you test your Wi-Fi connection in isolation from your Internet connection.

How to test?

You need a computer to run it on that is connected to your home network’s router with a network cable. It is best to run a soft router so that the router transmits data that is closest to the real Internet mode.

Step 1

You need to install iPerfman in macOS, open the listen, find the LAN IP address, such as, set it as the server, and click start button.


Step 2

You need to run iPerfman on your iPhone or iPad, address fill in the LAN IP address set in the first step, such as, set as client, click start button.


Soon the test is finished and we get the test results. Here we can test both download and upload modes separately. Here is basic example, you can test any two devices, regardless of LAN or World Wide Web, IPv4 or IPv6.

Installing iPerf 3 on macOS, here is a guide on the website iperf.fr.
On Linux or Windows, installing an iPerf 3 server requires familiarity with the command-line and installing Homebrew.

Analyze test results

Mainly analyze the average speed and speeds chart.

Internet speed can be optimized in the following ways: router location, WiFi connection 5G or 6G, avoiding partition walls, and use network cable connection to each room.

More parameters

Client Parameters

Different applications and scenarios will use different network protocols, TCP and UDP are the most common two, so it is necessary to test them separately. UDP can be set at different Rate to achieve the speed limit test.

Streams -P, --parallel n
How many parallel streams should be used during the test to test the concurrent data transmission.

End Condition
There are two ways to choose: Duration and Number of bytes. You choose only one of them.

Duration -t, --time n
In seconds, choose how long you want to run the test. 30 seconds is a good time to get stable data, but feel free to set it higher and walk around your home or office to see how the bandwidth changes.

Number of bytes -n, --bytes n[KMGT]
Select the size of the amount of data you want to run the test.
The test can be stopped at any time, so feel free to set a higher duration and stop when you are satisfied.

Connection timeout --connect-timeout n
set timeout for establishing the initial control connection to the server, in seconds. Providing a shorter value may speed up detection of a down iPerf3 server.

Omit first N seconds -O, --omit n
Perform pre-test for N seconds and omit the pre-test statistics, to skip past the TCP slow-start period

Zero copy -Z, --zerocopy
Use a zero copy method of sending data.

Sever Parameters

Keep running
When acting as the server side, the server side keep running after each other client test is finished. If you close this option, after single test, server side will stop running.

GENERAL Parameters

Reporting interval -i, --interval n
Seconds between periodic throughput reports.

Verbose logfile -V, --verbose
Give more detailed output in logfile.


  1. Generate RSA Keypair
openssl genrsa -des3 -out private.pem 2048
openssl rsa -in private.pem -outform PEM -pubout -out public.pem
openssl rsa -in private.pem -out private_not_protected.pem -outform PEM
  1. Authorized users configuration file

An example of commands to generate the password hash on a UNIX/Linux system is given below:

S_USER=mario S_PASSWD=rossi
echo -n \"{$S_USER}$S_PASSWD\" | sha256sum | awk '{ print $1 }'

The file is a simple list of comma-separated pairs of a username and a corresponding password hash.

The password hash is a SHA256 hash of the string "{$user}$password".

cat credentials.csv
# file format: username,password-hash

Private Key --rsa-private-key-path file
RSA Private Key,copy all text in private_not_protected.pem

Authorized Users --authorized-users-path file
Authorized user file (CSV), a comma-separated list of username and password hashes SHA256, copy all text.

Time Skew Threshold --time-skew-thresholdsecond seconds
Time skew threshold (in seconds) between the server and client during the authentication process.

Public Key --rsa-public-key-path file
RSA Public Key,copy all text in public.pem

Username --username username
The username recorded in the authorized users file.

The password recorded in the authorized users file, not sha256 hash.

If you are not familiar to iPerf3, you can refer iPerf3 Manual Page

The application is currently using iPerf v3.13 code and works fine with a different version of the server.

Still need help?

If you have any questions or suggestions about using the application, please feel free to contact us by email: 531sunlight@gmail.com. It is best to attach screenshots of the application and relevant environment conditions.