test: Parameterize run time for throughput performance tests

Currently all the throughput tests are run for 30s.  This is reflected in
both the actual parameters given to the iperf commands, but also in the
matching sleeps in test_iperf3.

Allow this to be adjusted more easily with a new parameter to test_iperf3.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[sbrivio: Reflect new parameter in comment to test_iperf3()]
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
David Gibson 2022-09-02 12:04:33 +10:00 committed by Stefano Brivio
parent 5c13b511d9
commit 29247d0db6
5 changed files with 95 additions and 87 deletions

View file

@ -20,6 +20,7 @@
# $4: Destination name or address for client # $4: Destination name or address for client
# $5: Port number, ${i} is translated to process index # $5: Port number, ${i} is translated to process index
# $6: Number of processes to run in parallel # $6: Number of processes to run in parallel
# $7: Run time, in seconds
# $@: Client options # $@: Client options
test_iperf3() { test_iperf3() {
__var="${1}"; shift __var="${1}"; shift
@ -28,6 +29,7 @@ test_iperf3() {
__dest="${1}"; shift __dest="${1}"; shift
__port="${1}"; shift __port="${1}"; shift
__procs="$((${1} - 1))"; shift __procs="$((${1} - 1))"; shift
__time="${1}"; shift
pane_run "${__spane}" 'for i in $(seq 0 '${__procs}'); do' \ pane_run "${__spane}" 'for i in $(seq 0 '${__procs}'); do' \
':> s${i}.bw; done' ':> s${i}.bw; done'
@ -42,8 +44,8 @@ test_iperf3() {
sleep 2 sleep 2
pane_run "${__cpane}" 'for i in $(seq 0 '${__procs}');' \ pane_run "${__cpane}" 'for i in $(seq 0 '${__procs}');' \
'do ( iperf3 -c '"${__dest}"' -p '"${__port}" \ 'do ( iperf3 -c '"${__dest}"' -p '"${__port}" \
"${@}" ' -T s${i} & echo $! > c${i}.pid & ); done' '-t'${__time} "${@}" ' -T s${i} & echo $! > c${i}.pid & ); done'
sleep 40 sleep $(echo ${__time} + 10 | bc -l)
pane_run "${__cpane}" 'for i in $(seq 0 '${__procs}'); do'\ pane_run "${__cpane}" 'for i in $(seq 0 '${__procs}'); do'\
'kill -INT $(cat c${i}.pid) 2>/dev/null; done' 'kill -INT $(cat c${i}.pid) 2>/dev/null; done'
) & ) &
@ -57,7 +59,7 @@ test_iperf3() {
'done' 'done'
else else
pane_run "${__spane}" 'for i in $(seq 0 '${__procs}');' \ pane_run "${__spane}" 'for i in $(seq 0 '${__procs}');' \
'do ( ( iperf3 -s1J -i 30 -p '"${__port}" \ 'do ( ( iperf3 -s1J -i '${__time}' -p '"${__port}" \
'& echo $! > s${i}.pid ) 2>/dev/null' \ '& echo $! > s${i}.pid ) 2>/dev/null' \
'| jq -rM ".intervals[0].sum.bits_per_second"' \ '| jq -rM ".intervals[0].sum.bits_per_second"' \
'> s${i}.bw & );' \ '> s${i}.bw & );' \
@ -65,7 +67,7 @@ test_iperf3() {
fi fi
pane_status "${__spane}" pane_status "${__spane}"
sleep 45 sleep $(echo ${__time} + 15 | bc -l)
pane_run "${__spane}" 'for i in $(seq 0 '${__procs}'); do' \ pane_run "${__spane}" 'for i in $(seq 0 '${__procs}'); do' \
'kill -INT $(cat s${i}.pid) 2>/dev/null; done' 'kill -INT $(cat s${i}.pid) 2>/dev/null; done'
sleep 4 sleep 4

View file

@ -44,7 +44,9 @@ hout FREQ [ -n "__FREQ_CPUFREQ__" ] && echo __FREQ_CPUFREQ__ || echo __FREQ_PROC
set THREADS 1 set THREADS 1
set STREAMS 8 set STREAMS 8
set OPTS -Z -P __STREAMS__ -l 1M -i1 -t30 -O5 --pacing-timer 1000000 set TIME 30
hout OMIT echo __TIME__ / 6 | bc -l
set OPTS -Z -P __STREAMS__ -l 1M -i1 -O__OMIT__ --pacing-timer 1000000
info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams
report passt tcp __THREADS__ __FREQ__ report passt tcp __THREADS__ __FREQ__
@ -58,19 +60,19 @@ bw -
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 1280 guest ip link set dev __IFNAME__ mtu 1280
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __OPTS__ -w 4M iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
bw __BW__ 1.2 1.5 bw __BW__ 1.2 1.5
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 1500 guest ip link set dev __IFNAME__ mtu 1500
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __OPTS__ -w 4M iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
bw __BW__ 1.6 1.8 bw __BW__ 1.6 1.8
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 9000 guest ip link set dev __IFNAME__ mtu 9000
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __OPTS__ -w 8M iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M
bw __BW__ 4.0 5.0 bw __BW__ 4.0 5.0
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 65520 guest ip link set dev __IFNAME__ mtu 65520
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __OPTS__ -w 16M iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M
bw __BW__ 7.0 8.0 bw __BW__ 7.0 8.0
tl TCP RR latency over IPv6: guest to host tl TCP RR latency over IPv6: guest to host
@ -97,27 +99,27 @@ lat __LAT__ 500 400
tr TCP throughput over IPv4: guest to host tr TCP throughput over IPv4: guest to host
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 256 guest ip link set dev __IFNAME__ mtu 256
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -w 1M iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M
bw __BW__ 0.2 0.3 bw __BW__ 0.2 0.3
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 576 guest ip link set dev __IFNAME__ mtu 576
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -w 1M iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M
bw __BW__ 0.5 0.8 bw __BW__ 0.5 0.8
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 1280 guest ip link set dev __IFNAME__ mtu 1280
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -w 4M iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
bw __BW__ 1.2 1.5 bw __BW__ 1.2 1.5
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 1500 guest ip link set dev __IFNAME__ mtu 1500
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -w 4M iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
bw __BW__ 1.6 1.8 bw __BW__ 1.6 1.8
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 9000 guest ip link set dev __IFNAME__ mtu 9000
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -w 8M iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M
bw __BW__ 4.0 5.0 bw __BW__ 4.0 5.0
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 65520 guest ip link set dev __IFNAME__ mtu 65520
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -w 16M iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M
bw __BW__ 7.0 8.0 bw __BW__ 7.0 8.0
tl TCP RR latency over IPv4: guest to host tl TCP RR latency over IPv4: guest to host
@ -145,16 +147,16 @@ tr TCP throughput over IPv6: host to guest
bw - bw -
bw - bw -
ns ip link set dev lo mtu 1280 ns ip link set dev lo mtu 1280
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 1.0 1.2 bw __BW__ 1.0 1.2
ns ip link set dev lo mtu 1500 ns ip link set dev lo mtu 1500
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 2.0 3.0 bw __BW__ 2.0 3.0
ns ip link set dev lo mtu 9000 ns ip link set dev lo mtu 9000
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 5.0 6.0 bw __BW__ 5.0 6.0
ns ip link set dev lo mtu 65520 ns ip link set dev lo mtu 65520
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 6.0 6.8 bw __BW__ 6.0 6.8
ns ip link set dev lo mtu 65535 ns ip link set dev lo mtu 65535
@ -181,23 +183,23 @@ lat __LAT__ 500 350
tr TCP throughput over IPv4: host to guest tr TCP throughput over IPv4: host to guest
ns ip link set dev lo mtu 256 ns ip link set dev lo mtu 256
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 0.3 0.5 bw __BW__ 0.3 0.5
ns ip link set dev lo mtu 576 ns ip link set dev lo mtu 576
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 0.5 1.0 bw __BW__ 0.5 1.0
ns ip link set dev lo mtu 1280 ns ip link set dev lo mtu 1280
ns ip addr add ::1 dev lo ns ip addr add ::1 dev lo
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 2.0 3.0 bw __BW__ 2.0 3.0
ns ip link set dev lo mtu 1500 ns ip link set dev lo mtu 1500
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 2.0 3.0 bw __BW__ 2.0 3.0
ns ip link set dev lo mtu 9000 ns ip link set dev lo mtu 9000
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 5.0 6.0 bw __BW__ 5.0 6.0
ns ip link set dev lo mtu 65520 ns ip link set dev lo mtu 65520
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__
bw __BW__ 6.0 6.8 bw __BW__ 6.0 6.8
ns ip link set dev lo mtu 65535 ns ip link set dev lo mtu 65535

View file

@ -37,7 +37,8 @@ hout FREQ [ -n "__FREQ_CPUFREQ__" ] && echo __FREQ_CPUFREQ__ || echo __FREQ_PROC
set THREADS 4 set THREADS 4
set STREAMS 1 set STREAMS 1
set OPTS -u -i1 -t30 -P __STREAMS__ --pacing-timer 1000 set TIME 30
set OPTS -u -i1 -P __STREAMS__ --pacing-timer 1000
info Throughput in Gbps, latency in µs, __THREADS__ threads at __FREQ__ GHz, one stream each info Throughput in Gbps, latency in µs, __THREADS__ threads at __FREQ__ GHz, one stream each
@ -51,19 +52,19 @@ bw -
bw - bw -
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 1280 guest ip link set dev __IFNAME__ mtu 1280
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __OPTS__ -b 2G iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 0.8 1.2 bw __BW__ 0.8 1.2
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 1500 guest ip link set dev __IFNAME__ mtu 1500
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __OPTS__ -b 3G iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.0 1.5 bw __BW__ 1.0 1.5
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 9000 guest ip link set dev __IFNAME__ mtu 9000
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __OPTS__ -b 5G iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 5G
bw __BW__ 4.0 5.0 bw __BW__ 4.0 5.0
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 65520 guest ip link set dev __IFNAME__ mtu 65520
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __OPTS__ -b 7G iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 7G
bw __BW__ 4.0 5.0 bw __BW__ 4.0 5.0
tl UDP RR latency over IPv6: guest to host tl UDP RR latency over IPv6: guest to host
@ -80,27 +81,27 @@ lat __LAT__ 200 150
tr UDP throughput over IPv4: guest to host tr UDP throughput over IPv4: guest to host
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 256 guest ip link set dev __IFNAME__ mtu 256
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -b 500M iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 500M
bw __BW__ 0.0 0.0 bw __BW__ 0.0 0.0
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 576 guest ip link set dev __IFNAME__ mtu 576
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -b 1G iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 1G
bw __BW__ 0.4 0.6 bw __BW__ 0.4 0.6
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 1280 guest ip link set dev __IFNAME__ mtu 1280
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -b 2G iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 0.8 1.2 bw __BW__ 0.8 1.2
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 1500 guest ip link set dev __IFNAME__ mtu 1500
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -b 3G iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.0 1.5 bw __BW__ 1.0 1.5
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 9000 guest ip link set dev __IFNAME__ mtu 9000
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -b 6G iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 6G
bw __BW__ 4.0 5.0 bw __BW__ 4.0 5.0
virtio_net_workaround virtio_net_workaround
guest ip link set dev __IFNAME__ mtu 65520 guest ip link set dev __IFNAME__ mtu 65520
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __OPTS__ -b 7G iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 7G
bw __BW__ 4.0 5.0 bw __BW__ 4.0 5.0
tl UDP RR latency over IPv4: guest to host tl UDP RR latency over IPv4: guest to host
@ -118,16 +119,16 @@ tr UDP throughput over IPv6: host to guest
bw - bw -
bw - bw -
ns ip link set dev lo mtu 1280 ns ip link set dev lo mtu 1280
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __OPTS__ -b 2G iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 0.8 1.2 bw __BW__ 0.8 1.2
ns ip link set dev lo mtu 1500 ns ip link set dev lo mtu 1500
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __OPTS__ -b 2G iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 1.0 1.5 bw __BW__ 1.0 1.5
ns ip link set dev lo mtu 9000 ns ip link set dev lo mtu 9000
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __OPTS__ -b 3G iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 3.0 4.0 bw __BW__ 3.0 4.0
ns ip link set dev lo mtu 65520 ns ip link set dev lo mtu 65520
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __OPTS__ -b 3G iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 3.0 4.0 bw __BW__ 3.0 4.0
tl UDP RR latency over IPv6: host to guest tl UDP RR latency over IPv6: host to guest
@ -144,23 +145,23 @@ ns ip link set dev lo mtu 65535
tr UDP throughput over IPv4: host to guest tr UDP throughput over IPv4: host to guest
ns ip link set dev lo mtu 256 ns ip link set dev lo mtu 256
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ -b 1G iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 1G
bw __BW__ 0.0 0.0 bw __BW__ 0.0 0.0
ns ip link set dev lo mtu 576 ns ip link set dev lo mtu 576
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ -b 1G iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 1G
bw __BW__ 0.4 0.6 bw __BW__ 0.4 0.6
ns ip link set dev lo mtu 1280 ns ip link set dev lo mtu 1280
ns ip addr add ::1 dev lo ns ip addr add ::1 dev lo
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ -b 3G iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 0.8 1.2 bw __BW__ 0.8 1.2
ns ip link set dev lo mtu 1500 ns ip link set dev lo mtu 1500
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ -b 3G iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.0 1.5 bw __BW__ 1.0 1.5
ns ip link set dev lo mtu 9000 ns ip link set dev lo mtu 9000
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ -b 3G iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 3.0 4.0 bw __BW__ 3.0 4.0
ns ip link set dev lo mtu 65520 ns ip link set dev lo mtu 65520
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __OPTS__ -b 3G iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 3.0 4.0 bw __BW__ 3.0 4.0
tl UDP RR latency over IPv4: host to guest tl UDP RR latency over IPv4: host to guest

View file

@ -23,7 +23,9 @@ ns sysctl -w net.ipv4.tcp_timestamps=0
set THREADS 2 set THREADS 2
set STREAMS 2 set STREAMS 2
set OPTS -Z -w 4M -l 1M -P __STREAMS__ -i1 -t30 -O5 --pacing-timer 10000 set TIME 30
hout OMIT echo __TIME__ / 6 | bc -l
set OPTS -Z -w 4M -l 1M -P __STREAMS__ -i1 -O__OMIT__ --pacing-timer 10000
hout FREQ_PROCFS (echo "scale=1"; sed -n 's/cpu MHz.*: \([0-9]*\)\..*$/(\1+10^2\/2)\/10^3/p' /proc/cpuinfo) | bc -l | head -n1 hout FREQ_PROCFS (echo "scale=1"; sed -n 's/cpu MHz.*: \([0-9]*\)\..*$/(\1+10^2\/2)\/10^3/p' /proc/cpuinfo) | bc -l | head -n1
hout FREQ_CPUFREQ (echo "scale=1"; printf '( %i + 10^5 / 2 ) / 10^6\n' $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq) ) | bc -l hout FREQ_CPUFREQ (echo "scale=1"; printf '( %i + 10^5 / 2 ) / 10^6\n' $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq) ) | bc -l
@ -38,17 +40,17 @@ th MTU 1500B 4000B 16384B 65535B
tr TCP throughput over IPv6: ns to host tr TCP throughput over IPv6: ns to host
ns ip link set dev lo mtu 1500 ns ip link set dev lo mtu 1500
iperf3 BW ns host ::1 100${i}3 __THREADS__ __OPTS__ iperf3 BW ns host ::1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 4000 ns ip link set dev lo mtu 4000
iperf3c ns ::1 100${i}3 __THREADS__ __OPTS__ iperf3c ns ::1 100${i}3 __THREADS__ __TIME__ __OPTS__
iperf3s BW host 100${i}3 __THREADS__ iperf3s BW host 100${i}3 __THREADS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 16384 ns ip link set dev lo mtu 16384
iperf3 BW ns host ::1 100${i}3 __THREADS__ __OPTS__ iperf3 BW ns host ::1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 65535 ns ip link set dev lo mtu 65535
iperf3 BW ns host ::1 100${i}3 __THREADS__ __OPTS__ iperf3 BW ns host ::1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
tl TCP RR latency over IPv6: ns to host tl TCP RR latency over IPv6: ns to host
@ -72,16 +74,16 @@ lat __LAT__ 500 350
tr TCP throughput over IPv4: ns to host tr TCP throughput over IPv4: ns to host
ns ip link set dev lo mtu 1500 ns ip link set dev lo mtu 1500
iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __OPTS__ iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 4000 ns ip link set dev lo mtu 4000
iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __OPTS__ iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 16384 ns ip link set dev lo mtu 16384
iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __OPTS__ iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 65535 ns ip link set dev lo mtu 65535
iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __OPTS__ iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
tl TCP RR latency over IPv4: ns to host tl TCP RR latency over IPv4: ns to host
@ -107,7 +109,7 @@ tr TCP throughput over IPv6: host to ns
bw - bw -
bw - bw -
bw - bw -
iperf3 BW host ns ::1 100${i}2 __THREADS__ __OPTS__ iperf3 BW host ns ::1 100${i}2 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
tl TCP RR latency over IPv6: host to ns tl TCP RR latency over IPv6: host to ns
@ -133,7 +135,7 @@ tr TCP throughput over IPv4: host to ns
bw - bw -
bw - bw -
bw - bw -
iperf3 BW host ns 127.0.0.1 100${i}2 __THREADS__ __OPTS__ iperf3 BW host ns 127.0.0.1 100${i}2 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
tl TCP RR latency over IPv4: host to ns tl TCP RR latency over IPv4: host to ns
@ -165,7 +167,7 @@ nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname' nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
set THREADS 1 set THREADS 1
set STREAMS 2 set STREAMS 2
set OPTS -Z -P __STREAMS__ -i1 -t30 -O5 --pacing-timer 100000 set OPTS -Z -P __STREAMS__ -i1 -O__OMIT__ --pacing-timer 100000
info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams
report pasta tap_tcp __THREADS__ __FREQ__ report pasta tap_tcp __THREADS__ __FREQ__
@ -175,16 +177,16 @@ th MTU 1500B 4000B 16384B 65520B
tr TCP throughput over IPv6: ns to host tr TCP throughput over IPv6: ns to host
ns ip link set dev __IFNAME__ mtu 1500 ns ip link set dev __IFNAME__ mtu 1500
iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __OPTS__ -w 512k iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -w 512k
bw __BW__ 0.2 0.4 bw __BW__ 0.2 0.4
ns ip link set dev __IFNAME__ mtu 4000 ns ip link set dev __IFNAME__ mtu 4000
iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __OPTS__ -w 1M iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -w 1M
bw __BW__ 0.3 0.5 bw __BW__ 0.3 0.5
ns ip link set dev __IFNAME__ mtu 16384 ns ip link set dev __IFNAME__ mtu 16384
iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __OPTS__ -w 8M iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -w 8M
bw __BW__ 1.5 2.0 bw __BW__ 1.5 2.0
ns ip link set dev __IFNAME__ mtu 65520 ns ip link set dev __IFNAME__ mtu 65520
iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __OPTS__ -w 8M iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -w 8M
bw __BW__ 2.0 2.5 bw __BW__ 2.0 2.5
tl TCP RR latency over IPv6: ns to host tl TCP RR latency over IPv6: ns to host
@ -208,16 +210,16 @@ lat __LAT__ 1500 500
tr TCP throughput over IPv4: ns to host tr TCP throughput over IPv4: ns to host
ns ip link set dev __IFNAME__ mtu 1500 ns ip link set dev __IFNAME__ mtu 1500
iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __OPTS__ -w 512k iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -w 512k
bw __BW__ 0.2 0.4 bw __BW__ 0.2 0.4
ns ip link set dev __IFNAME__ mtu 4000 ns ip link set dev __IFNAME__ mtu 4000
iperf3s BW ns host __GW__ 100${i}3 __THREADS__ __OPTS__ -w 1M iperf3s BW ns host __GW__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -w 1M
bw __BW__ 0.3 0.5 bw __BW__ 0.3 0.5
ns ip link set dev __IFNAME__ mtu 16384 ns ip link set dev __IFNAME__ mtu 16384
iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __OPTS__ -w 8M iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -w 8M
bw __BW__ 1.5 2.0 bw __BW__ 1.5 2.0
ns ip link set dev __IFNAME__ mtu 65520 ns ip link set dev __IFNAME__ mtu 65520
iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __OPTS__ -w 8M iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -w 8M
bw __BW__ 2.0 2.5 bw __BW__ 2.0 2.5
tl TCP RR latency over IPv4: ns to host tl TCP RR latency over IPv4: ns to host

View file

@ -22,7 +22,8 @@ hout FREQ [ -n "__FREQ_CPUFREQ__" ] && echo __FREQ_CPUFREQ__ || echo __FREQ_PROC
set THREADS 1 set THREADS 1
set STREAMS 4 set STREAMS 4
set OPTS -u -i1 -t30 -P __STREAMS__ set TIME 30
set OPTS -u -i1 -P __STREAMS__
info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams
@ -33,16 +34,16 @@ th MTU 1500B 4000B 16384B 65535B
tr UDP throughput over IPv6: ns to host tr UDP throughput over IPv6: ns to host
ns ip link set dev lo mtu 1500 ns ip link set dev lo mtu 1500
iperf3 BW ns host ::1 100${i}3 __THREADS__ __OPTS__ -b 3G iperf3 BW ns host ::1 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.0 1.5 bw __BW__ 1.0 1.5
ns ip link set dev lo mtu 4000 ns ip link set dev lo mtu 4000
iperf3 BW ns host ::1 100${i}3 __THREADS__ __OPTS__ -b 3G iperf3 BW ns host ::1 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.2 1.8 bw __BW__ 1.2 1.8
ns ip link set dev lo mtu 16384 ns ip link set dev lo mtu 16384
iperf3 BW ns host ::1 100${i}3 __THREADS__ __OPTS__ -b 10G iperf3 BW ns host ::1 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 10G
bw __BW__ 5.0 6.0 bw __BW__ 5.0 6.0
ns ip link set dev lo mtu 65535 ns ip link set dev lo mtu 65535
iperf3 BW ns host ::1 100${i}3 __THREADS__ __OPTS__ -b 15G iperf3 BW ns host ::1 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 15G
bw __BW__ 7.0 9.0 bw __BW__ 7.0 9.0
tl UDP RR latency over IPv6: ns to host tl UDP RR latency over IPv6: ns to host
@ -57,16 +58,16 @@ lat __LAT__ 200 150
tr UDP throughput over IPv4: ns to host tr UDP throughput over IPv4: ns to host
ns ip link set dev lo mtu 1500 ns ip link set dev lo mtu 1500
iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __OPTS__ -b 3G iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.0 1.5 bw __BW__ 1.0 1.5
ns ip link set dev lo mtu 4000 ns ip link set dev lo mtu 4000
iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __OPTS__ -b 3G iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.2 1.8 bw __BW__ 1.2 1.8
ns ip link set dev lo mtu 16384 ns ip link set dev lo mtu 16384
iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __OPTS__ -b 10G iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 10G
bw __BW__ 5.0 6.0 bw __BW__ 5.0 6.0
ns ip link set dev lo mtu 65535 ns ip link set dev lo mtu 65535
iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __OPTS__ -b 15G iperf3 BW ns host 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 15G
bw __BW__ 7.0 9.0 bw __BW__ 7.0 9.0
tl UDP RR latency over IPv4: ns to host tl UDP RR latency over IPv4: ns to host
@ -83,9 +84,9 @@ tr UDP throughput over IPv6: host to ns
bw - bw -
bw - bw -
bw - bw -
#iperf3c host ::1 100${i}2 __THREADS__ __OPTS__ -b 15G #iperf3c host ::1 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 15G
#iperf3s BW ns 100${i}2 __THREADS__ #iperf3s BW ns 100${i}2 __THREADS__
iperf3 BW host ns ::1 100${i}2 __THREADS__ __OPTS__ -b 15G iperf3 BW host ns ::1 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 15G
bw __BW__ 7.0 9.0 bw __BW__ 7.0 9.0
tl UDP RR latency over IPv6: host to ns tl UDP RR latency over IPv6: host to ns
@ -102,9 +103,9 @@ tr UDP throughput over IPv4: host to ns
bw - bw -
bw - bw -
bw - bw -
#iperf3c host 127.0.0.1 100${i}2 __THREADS__ __OPTS__ -b 15G #iperf3c host 127.0.0.1 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 15G
#iperf3s BW ns 100${i}2 __THREADS__ #iperf3s BW ns 100${i}2 __THREADS__
iperf3 BW host ns 127.0.0.1 100${i}2 __THREADS__ __OPTS__ -b 15G iperf3 BW host ns 127.0.0.1 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 15G
bw __BW__ 7.0 9.0 bw __BW__ 7.0 9.0
tl UDP RR latency over IPv4: host to ns tl UDP RR latency over IPv4: host to ns
@ -133,16 +134,16 @@ th MTU 1500B 4000B 16384B 65520B
tr UDP throughput over IPv6: ns to host tr UDP throughput over IPv6: ns to host
ns ip link set dev __IFNAME__ mtu 1500 ns ip link set dev __IFNAME__ mtu 1500
iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __OPTS__ -b 2G iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 0.3 0.5 bw __BW__ 0.3 0.5
ns ip link set dev __IFNAME__ mtu 4000 ns ip link set dev __IFNAME__ mtu 4000
iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __OPTS__ -b 3G iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 0.5 0.8 bw __BW__ 0.5 0.8
ns ip link set dev __IFNAME__ mtu 16384 ns ip link set dev __IFNAME__ mtu 16384
iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __OPTS__ -b 4G iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 4G
bw __BW__ 3.0 4.0 bw __BW__ 3.0 4.0
ns ip link set dev __IFNAME__ mtu 65520 ns ip link set dev __IFNAME__ mtu 65520
iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __OPTS__ -b 6G iperf3 BW ns host __GW6__%__IFNAME__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 6G
bw __BW__ 6.0 7.0 bw __BW__ 6.0 7.0
tl UDP RR latency over IPv6: ns to host tl UDP RR latency over IPv6: ns to host
@ -157,16 +158,16 @@ lat __LAT__ 200 150
tr UDP throughput over IPv4: ns to host tr UDP throughput over IPv4: ns to host
ns ip link set dev __IFNAME__ mtu 1500 ns ip link set dev __IFNAME__ mtu 1500
iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __OPTS__ -b 2G iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 0.3 0.5 bw __BW__ 0.3 0.5
ns ip link set dev __IFNAME__ mtu 4000 ns ip link set dev __IFNAME__ mtu 4000
iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __OPTS__ -b 3G iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 0.5 0.8 bw __BW__ 0.5 0.8
ns ip link set dev __IFNAME__ mtu 16384 ns ip link set dev __IFNAME__ mtu 16384
iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __OPTS__ -b 4G iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 4G
bw __BW__ 3.0 4.0 bw __BW__ 3.0 4.0
ns ip link set dev __IFNAME__ mtu 65520 ns ip link set dev __IFNAME__ mtu 65520
iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __OPTS__ -b 6G iperf3 BW ns host __GW__ 100${i}3 __THREADS__ __TIME__ __OPTS__ -b 6G
bw __BW__ 6.0 7.0 bw __BW__ 6.0 7.0
tl UDP RR latency over IPv4: ns to host tl UDP RR latency over IPv4: ns to host