1
0
Fork 0
mirror of https://passt.top/passt synced 2025-05-31 21:35:34 +02:00

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>
This commit is contained in:
David Gibson 2023-11-06 18:08:28 +11:00 committed by Stefano Brivio
parent f9ff6678d4
commit e516809a74
5 changed files with 214 additions and 110 deletions
test/perf

View file

@ -41,23 +41,26 @@ report passt udp __THREADS__ __FREQ__
th MTU 256B 576B 1280B 1500B 9000B 65520B
tr UDP 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__ -b 2G
iperf3 BW guest __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 0.8 1.2
guest ip link set dev __IFNAME__ mtu 1500
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
iperf3 BW guest __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.0 1.5
guest ip link set dev __IFNAME__ mtu 9000
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 5G
iperf3 BW guest __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 5G
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__ -b 7G
iperf3 BW guest __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 7G
bw __BW__ 4.0 5.0
iperf3k ns
tl UDP RR latency over IPv6: guest to host
lat -
lat -
@ -70,25 +73,29 @@ lat __LAT__ 200 150
tr UDP 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__ -b 500M
iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 500M
bw __BW__ 0.0 0.0
guest ip link set dev __IFNAME__ mtu 576
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 1G
iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 1G
bw __BW__ 0.4 0.6
guest ip link set dev __IFNAME__ mtu 1280
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 0.8 1.2
guest ip link set dev __IFNAME__ mtu 1500
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.0 1.5
guest ip link set dev __IFNAME__ mtu 9000
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 6G
iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 6G
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__ -b 7G
iperf3 BW guest __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 7G
bw __BW__ 4.0 5.0
iperf3k ns
tl UDP RR latency over IPv4: guest to host
lat -
lat -
@ -101,21 +108,25 @@ lat __LAT__ 200 150
tr UDP 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__ -b 2G
iperf3 BW ns ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 0.8 1.2
ns ip link set dev lo mtu 1500
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 2G
iperf3 BW ns ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 2G
bw __BW__ 1.0 1.5
ns ip link set dev lo mtu 9000
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
iperf3 BW ns ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 3.0 4.0
ns ip link set dev lo mtu 65520
iperf3 BW ns guest ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
iperf3 BW ns ::1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 3.0 4.0
iperf3k guest
tl UDP RR latency over IPv6: host to guest
lat -
lat -
@ -130,26 +141,30 @@ ns ip link set dev lo mtu 65535
tr UDP 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__ -b 1G
iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 1G
bw __BW__ 0.0 0.0
ns ip link set dev lo mtu 576
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 1G
iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 1G
bw __BW__ 0.4 0.6
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__ -b 3G
iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 0.8 1.2
ns ip link set dev lo mtu 1500
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 1.0 1.5
ns ip link set dev lo mtu 9000
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 3.0 4.0
ns ip link set dev lo mtu 65520
iperf3 BW ns guest 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
iperf3 BW ns 127.0.0.1 100${i}1 __THREADS__ __TIME__ __OPTS__ -b 3G
bw __BW__ 3.0 4.0
iperf3k guest
tl UDP RR latency over IPv4: host to guest
lat -
lat -