forked from esnet/iperf
-
Notifications
You must be signed in to change notification settings - Fork 1
/
test_commands.sh
executable file
·61 lines (55 loc) · 1.45 KB
/
test_commands.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/sh
#
# This is a set of commands to run and verify they work before doing a new release.
# Eventually they should also use the -J flag to generate JSON output, and a program should
# be written to check the output.
# Be sure to test both client and server on Linux, BSD, and OSX
#
if [ $# -ne 1 ]
then
echo "Usage: `basename $0` hostname"
exit $E_BADARGS
fi
set -x
host=$1
# basic testing
./src/iperf3 -c $host -V -t 5 -T "test1"
./src/iperf3 -c $host -u -V -t 5
# omit mode
./src/iperf3 -c $host -i .3 -O 2 -t 5
# JSON mode
./src/iperf3 -c $host -i 1 -J -t 5
# force V4
./src/iperf3 -c $host -4 -t 5
./src/iperf3 -c $host -4 -u -t 5
# force V6
./src/iperf3 -c $host -6 -t 5
./src/iperf3 -c $host -6 -u -t 5
# parallel streams
./src/iperf3 -c $host -P 3 -t 5
./src/iperf3 -c $host -u -P 3 -t 5
# reverse mode
./src/iperf3 -c $host -P 2 -t 5 -R
./src/iperf3 -c $host -u -P 2 -t 5 -R
# zero copy
./src/iperf3 -c $host -Z -t 5
./src/iperf3 -c $host -Z -t 5 -R
# window size
./src/iperf3 -c $host -t 5 -w 8M
# -n flag
./src/iperf3 -c $host -n 5M
./src/iperf3 -c $host -n 5M -u -b1G
# conflicting -n -t flags
./src/iperf3 -c $host -n 5M -t 5
# -k mode
./src/iperf3 -c $host -k 1K
./src/iperf3 -c $host -k 1K -u -b1G
# CPU affinity
./src/iperf3 -c $host -A 2/2
./src/iperf3 -c $host -A 2/2 -u -b1G
# Burst mode
./src/iperf3 -c $host -u -b1G/100
# change MSS
./src/iperf3 -c $host -M 1000 -V
# test congestion control option (linux only)
./src/iperf3 -c $host -C reno -V