diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2023-11-06 18:08:28 +1100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-11-07 09:56:10 +0100 |
commit | e516809a74ffd495481a7adf6b565181861a41f9 (patch) | |
tree | 1b99cba3173477677b3b0e6ac203db673fca0cd2 /test/perf/passt_tcp | |
parent | f9ff6678d4bbf5d9c80c1c6f784c3955468c09d6 (diff) | |
download | passt-e516809a74ffd495481a7adf6b565181861a41f9.tar passt-e516809a74ffd495481a7adf6b565181861a41f9.tar.gz passt-e516809a74ffd495481a7adf6b565181861a41f9.tar.bz2 passt-e516809a74ffd495481a7adf6b565181861a41f9.tar.lz passt-e516809a74ffd495481a7adf6b565181861a41f9.tar.xz passt-e516809a74ffd495481a7adf6b565181861a41f9.tar.zst passt-e516809a74ffd495481a7adf6b565181861a41f9.zip |
test/perf: Start iperf3 server less often
Currently we start both the iperf3 server(s) and client(s) afresh each time
we want to make a bandwidth measurement. That's not really necessary as
usually a whole batch of bandwidth measurements can use the same server.
Split up the iperf3 directive into 3 directives: iperf3s to start the
server, iperf3 to make a measurement and iperf3k to kill the server, so
that we can start the server less often. This - and more importantly, the
reduced number of waits for the server to be ready - reduces runtime of the
performance tests on my laptop by about 4m (out of ~28minutes).
For now we still restart the server between IPv4 and IPv6 tests. That's
because in some cases the latency measurements we make in between use the
same ports.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'test/perf/passt_tcp')
-rw-r--r-- | test/perf/passt_tcp | 59 |
1 files changed, 36 insertions, 23 deletions
diff --git a/test/perf/passt_tcp b/test/perf/passt_tcp index 7046f3c..9363922 100644 --- a/test/perf/passt_tcp +++ b/test/perf/passt_tcp @@ -50,22 +50,25 @@ th MTU 256B 576B 1280B 1500B 9000B 65520B tr TCP throughput over IPv6: guest to host +iperf3s ns 100${i}2 __THREADS__ + bw - bw - - guest ip link set dev __IFNAME__ mtu 1280 -iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M +iperf3 BW guest __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M bw __BW__ 1.2 1.5 guest ip link set dev __IFNAME__ mtu 1500 -iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M +iperf3 BW guest __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M bw __BW__ 1.6 1.8 guest ip link set dev __IFNAME__ mtu 9000 -iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M +iperf3 BW guest __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M bw __BW__ 4.0 5.0 guest ip link set dev __IFNAME__ mtu 65520 -iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M +iperf3 BW guest __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M bw __BW__ 7.0 8.0 +iperf3k ns + tl TCP RR latency over IPv6: guest to host lat - lat - @@ -86,27 +89,30 @@ nsb tcp_crr --nolog -6 gout LAT tcp_crr --nolog -6 -c -H __GW6__%__IFNAME__ | sed -n 's/^throughput=\(.*\)/\1/p' lat __LAT__ 500 400 - tr TCP throughput over IPv4: guest to host +iperf3s ns 100${i}2 __THREADS__ + guest ip link set dev __IFNAME__ mtu 256 -iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M +iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M bw __BW__ 0.2 0.3 guest ip link set dev __IFNAME__ mtu 576 -iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M +iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M bw __BW__ 0.5 0.8 guest ip link set dev __IFNAME__ mtu 1280 -iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M +iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M bw __BW__ 1.2 1.5 guest ip link set dev __IFNAME__ mtu 1500 -iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M +iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M bw __BW__ 1.6 1.8 guest ip link set dev __IFNAME__ mtu 9000 -iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M +iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M bw __BW__ 4.0 5.0 guest ip link set dev __IFNAME__ mtu 65520 -iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M +iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M bw __BW__ 7.0 8.0 +iperf3k ns + tl TCP RR latency over IPv4: guest to host lat - lat - @@ -127,24 +133,27 @@ nsb tcp_crr --nolog -4 gout LAT tcp_crr --nolog -4 -c -H __GW__ | sed -n 's/^throughput=\(.*\)/\1/p' lat __LAT__ 500 400 - tr TCP throughput over IPv6: host to guest +iperf3s guest 100${i}1 __THREADS__ + bw - bw - ns ip link set dev lo mtu 1280 -iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 1.0 1.2 ns ip link set dev lo mtu 1500 -iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 2.0 3.0 ns ip link set dev lo mtu 9000 -iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 5.0 6.0 ns ip link set dev lo mtu 65520 -iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 6.0 6.8 ns ip link set dev lo mtu 65535 +iperf3k guest + tl TCP RR latency over IPv6: host to guest lat - lat - @@ -169,27 +178,31 @@ lat __LAT__ 500 350 tr TCP throughput over IPv4: host to guest +iperf3s guest 100${i}1 __THREADS__ + ns ip link set dev lo mtu 256 -iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 0.3 0.5 ns ip link set dev lo mtu 576 -iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 0.5 1.0 ns ip link set dev lo mtu 1280 ns ip addr add ::1 dev lo -iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 2.0 3.0 ns ip link set dev lo mtu 1500 -iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 2.0 3.0 ns ip link set dev lo mtu 9000 -iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 5.0 6.0 ns ip link set dev lo mtu 65520 -iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ +iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ bw __BW__ 6.0 6.8 ns ip link set dev lo mtu 65535 +iperf3k guest + tl TCP RR latency over IPv4: host to guest lat - lat - |