iperf
Run on server
iperf -s -i 1 # (older versions support also option -m)
(on linux you should disable the firewall or allow connections to port 5001 UDP/TCP -- on windows you'll be prompted to allow iperf)
Run on client
first run this (replace 1.2.3.4 with the IP of the server)
iperf -i 1 -c 1.2.3.4 -r
To get first the
client ---> server speed and THEN the
server ---> client speed
Then run this
iperf -i 1 -c 1.2.3.4 -d
To get both speeds for
SIMULTANEOUS transfer
client <---> server
(
note that the output of iperf when using -d is confusing -- you need to be noting the ids at the start of each line to know if the measurements refer to client-->server or server-->client)
Things that if you see may indicate problems:
- A warning like this "Path MTU Discovery may not be enabled"
- MTU that is not close to 1500 bytes
Re-run on server in UDP mode
iperf -s -u -i 1
Re-run on client in UDP mode
iperf -c 1.2.3.4 -u
iperf -c 1.2.3.4 -u -r # to test the reverse path
iperf -c 1.2.3.4 -u -b90m # 90m = 90Mbits/sec
iperf -c 1.2.3.4 -u -b90m -r
iperf -c 1.2.3.4 -u -b90m -d
And look for any packet loss or excessive jitter (variation in the time it takes for packets to arrive at the destination).
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
Client connecting to IP.OF.SER.VER, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local IP.OF.CLI.ENT port 35726 connected with IP.OF.SER.VER port 5001
[ 5] 0.0-10.0 sec 1.12 MBytes936 Kbits/sec # client ---> server
[ 4] local IP.OF.CLI.ENT port 5001 connected with IP.OF.SER.VER port 1640
[ 4] 0.0-10.1 sec 74.2 MBytes 61.7 Mbits/sec # server ---> client
Other options
-p changes the TCP/UDP port from the default 5001. You must specify it on both sides.
-t sets the test duration (default is 10 secs) (sec)
-i sets the interval between periodic reports (sec)
-r/-d if you don't use them you only get speeds for client ---> server transfers