About WiFiPerf

WiFiPerf is a bandwidth performance measurement app for iOS and Mac OS X. The app can operate as a client and/or server. WiFiPerf can be used for Mac OS-to-Mac OS, iOS-to-iOS testing or iOS-to-Mac OS testing. WiFiPerf should work with other operating systems that support iPerf3 but has only been tested with iPerf3 for Mac OS.
An binary version of iPerf3 for Mac OS Snow Leopard and Lion that is compatible with WiFiPerf can be downloaded at no cost by "Paying with a Tweet". WiFiPerf for Mac OS is also available from the Mac App Store.
Note: iPerf3 is not the same as iPerf or iPerf2 or jPerf. Please see bottom of this page with sample test results and iPerf3 options supported between iPerf3 on Mac OS and WiFiPerf. WiFiPerf should work with iPerf3 implementations on Linux, Windows and other platforms.
WiFiPerf iOS
System Requirements
- Compatible with iPhone, iPod Touch, and iPad. Requires iOS 4.x.
\
WiFiPerf Mac OS X
System Requirements
- Requires Mac OS 10.6 (Snow Leopard) or 10.7 (Lion).

Additional WiFiPerf iOS Screen Shots
Client Test

Client Test with Test in Progress and Interval Results

Client Settings

Graph Results

Server Settings

iPerf3 Options Supported / Tested with WiFiPerf
new-host-2:~ aa140$ ./iperf3 --h
Usage: iperf [-s|-c host] [options]
iperf [-h|--help] [-v|--version]
Client/Server:
-f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes
-i, --interval # seconds between periodic bandwidth reports
-l, --len #[KMG] length of buffer to read or write (default 8 KB)
-m, --print_mss print TCP maximum segment size (MTU - TCP/IP header)
-p, --port # server port to listen on/connect to
-u, --udp use UDP rather than TCP
-w, --window #[KMG] TCP window size (socket buffer size)
-M, --mss # set TCP maximum segment size (MTU - 40 bytes)
-N, --nodelay set TCP no delay, disabling Nagle's Algorithm
-T, --tcpinfo Output detailed TCP info
-v, --version print version information and quit
-V, --verbose more verbose output
-d, --debug debug mode
Server specific:
-s, --server run in server mode
Client specific:
-b, --bandwidth #[KMG] for UDP, bandwidth to send at in bits/sec
(default 1 Mbit/sec, implies -u)
-c, --client run in client mode, connecting to
-n, --num #[KMG] number of bytes to transmit (instead of -t)
-t, --time # time in seconds to transmit for (default 10 secs)
-P, --parallel # number of parallel client threads to run
-T, --tcpinfo Output detailed TCP info (Linux and FreeBSD only)
-R, --reverse test instructs server to send data to client (can be used with all other client options)
Miscellaneous:
-h, --help print this message and quit
[KMG] Indicates options that support a K,M, or G suffix for kilo-, mega-, or giga-
Sample Test With iOS App in Server Mode and Mac OS iPerf3 as Client
Following command on Mac OS was executed ./iperf3 -c 172.16.12.104 -t 60 -i 10
-c = iperf3 in client mode on Mac OS
-t = 60 second test
-i = results shown every 10 seconds
new-host-2:~ aa140$ ./iperf3 -c 172.16.12.104 -t 60 -i 10
Connecting to host 172.16.12.104, port 5201
[ 4] local 172.16.12.108 port 51837 connected to 172.16.12.104 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.03 sec 12.9 MBytes 10.8 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 4] 10.03-20.06 sec 13.1 MBytes 11.0 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 4] 20.06-30.11 sec 13.8 MBytes 11.5 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 4] 30.11-40.14 sec 12.9 MBytes 10.8 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 4] 40.14-50.21 sec 13.4 MBytes 11.1 Mbits/sec
[ ID] Interval Transfer Bandwidth
Sent
[ 4] 0.00-60.08 sec 78.5 MBytes 11.0 Mbits/sec
Received
[ 4] 0.00-60.08 sec 78.5 MBytes 11.0 Mbits/sec

