1
0
mirror of https://passt.top/passt synced 2024-07-04 08:52:40 +00:00

test/perf: Small MTUs for spliced TCP aren't interesting

Currently we make TCP throughput measurements for spliced connections with
a number of different MTU values.  However, the results from this aren't
really interesting.

Unlike with tap connections, spliced connections only involve the loopback
interface on host and container, not a "real" external interface.  lo
typically has an MTU of 65535 and there is very little reason to ever
change that.  So, the measurements for smaller MTUs are rarely going to be
relevant.

In addition, the fact that we can offload all the {de,}packetization to the
kernel with splice(2) means that the throughput difference between these
MTUs isn't very great anyway.

Remove the short MTUs and only show spliced throughput for the normal
65535 byte loopback MTU.  This reduces runtime of the performance tests on
my laptop by about 1 minute (out of ~24 minutes).

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:29 +11:00 committed by Stefano Brivio
parent e516809a74
commit 2926970523

View File

@ -35,39 +35,23 @@ hout FREQ [ -n "__FREQ_CPUFREQ__" ] && echo __FREQ_CPUFREQ__ || echo __FREQ_PROC
info Throughput in Gbps, latency in µs, __THREADS__ threads at __FREQ__ GHz, __STREAMS__ streams each info Throughput in Gbps, latency in µs, __THREADS__ threads at __FREQ__ GHz, __STREAMS__ streams each
report pasta lo_tcp __THREADS__ __FREQ__ report pasta lo_tcp __THREADS__ __FREQ__
th MTU 1500B 4000B 16384B 65535B th MTU 65535B
tr TCP throughput over IPv6: ns to host tr TCP throughput over IPv6: ns to host
iperf3s host 100${i}3 __THREADS__ iperf3s host 100${i}3 __THREADS__
ns ip link set dev lo mtu 1500
iperf3 BW ns ::1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 4000
iperf3 BW ns ::1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 16384
iperf3 BW ns ::1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 65535
iperf3 BW ns ::1 100${i}3 __THREADS__ __TIME__ __OPTS__ iperf3 BW ns ::1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
iperf3k host iperf3k host
tl TCP RR latency over IPv6: ns to host tl TCP RR latency over IPv6: ns to host
lat -
lat -
lat -
hostb tcp_rr --nolog -P 10003 -C 10013 -6 hostb tcp_rr --nolog -P 10003 -C 10013 -6
nsout LAT tcp_rr --nolog -P 10003 -C 10013 -6 -c -H ::1 | sed -n 's/^throughput=\(.*\)/\1/p' nsout LAT tcp_rr --nolog -P 10003 -C 10013 -6 -c -H ::1 | sed -n 's/^throughput=\(.*\)/\1/p'
hostw hostw
lat __LAT__ 150 100 lat __LAT__ 150 100
tl TCP CRR latency over IPv6: ns to host tl TCP CRR latency over IPv6: ns to host
lat -
lat -
lat -
hostb tcp_crr --nolog -P 10003 -C 10013 -6 hostb tcp_crr --nolog -P 10003 -C 10013 -6
nsout LAT tcp_crr --nolog -P 10003 -C 10013 -6 -c -H ::1 | sed -n 's/^throughput=\(.*\)/\1/p' nsout LAT tcp_crr --nolog -P 10003 -C 10013 -6 -c -H ::1 | sed -n 's/^throughput=\(.*\)/\1/p'
hostw hostw
@ -77,34 +61,18 @@ lat __LAT__ 500 350
tr TCP throughput over IPv4: ns to host tr TCP throughput over IPv4: ns to host
iperf3s host 100${i}3 __THREADS__ iperf3s host 100${i}3 __THREADS__
ns ip link set dev lo mtu 1500
iperf3 BW ns 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 4000
iperf3 BW ns 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 16384
iperf3 BW ns 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0
ns ip link set dev lo mtu 65535
iperf3 BW ns 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__ iperf3 BW ns 127.0.0.1 100${i}3 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
iperf3k host iperf3k host
tl TCP RR latency over IPv4: ns to host tl TCP RR latency over IPv4: ns to host
lat -
lat -
lat -
hostb tcp_rr --nolog -P 10003 -C 10013 -4 hostb tcp_rr --nolog -P 10003 -C 10013 -4
nsout LAT tcp_rr --nolog -P 10003 -C 10013 -4 -c -H 127.0.0.1 | sed -n 's/^throughput=\(.*\)/\1/p' nsout LAT tcp_rr --nolog -P 10003 -C 10013 -4 -c -H 127.0.0.1 | sed -n 's/^throughput=\(.*\)/\1/p'
hostw hostw
lat __LAT__ 150 100 lat __LAT__ 150 100
tl TCP CRR latency over IPv4: ns to host tl TCP CRR latency over IPv4: ns to host
lat -
lat -
lat -
hostb tcp_crr --nolog -P 10003 -C 10013 -4 hostb tcp_crr --nolog -P 10003 -C 10013 -4
nsout LAT tcp_crr --nolog -P 10003 -C 10013 -4 -c -H 127.0.0.1 | sed -n 's/^throughput=\(.*\)/\1/p' nsout LAT tcp_crr --nolog -P 10003 -C 10013 -4 -c -H 127.0.0.1 | sed -n 's/^throughput=\(.*\)/\1/p'
hostw hostw
@ -113,27 +81,18 @@ lat __LAT__ 500 350
tr TCP throughput over IPv6: host to ns tr TCP throughput over IPv6: host to ns
iperf3s ns 100${i}2 __THREADS__ iperf3s ns 100${i}2 __THREADS__
bw -
bw -
bw -
iperf3 BW host ::1 100${i}2 __THREADS__ __TIME__ __OPTS__ iperf3 BW host ::1 100${i}2 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
iperf3k ns iperf3k ns
tl TCP RR latency over IPv6: host to ns tl TCP RR latency over IPv6: host to ns
lat -
lat -
lat -
nsb tcp_rr --nolog -P 10002 -C 10012 -6 nsb tcp_rr --nolog -P 10002 -C 10012 -6
hout LAT tcp_rr --nolog -P 10002 -C 10012 -6 -c -H ::1 | sed -n 's/^throughput=\(.*\)/\1/p' hout LAT tcp_rr --nolog -P 10002 -C 10012 -6 -c -H ::1 | sed -n 's/^throughput=\(.*\)/\1/p'
nsw nsw
lat __LAT__ 150 100 lat __LAT__ 150 100
tl TCP CRR latency over IPv6: host to ns tl TCP CRR latency over IPv6: host to ns
lat -
lat -
lat -
nsb tcp_crr --nolog -P 10002 -C 10012 -6 nsb tcp_crr --nolog -P 10002 -C 10012 -6
hout LAT tcp_crr --nolog -P 10002 -C 10012 -6 -c -H ::1 | sed -n 's/^throughput=\(.*\)/\1/p' hout LAT tcp_crr --nolog -P 10002 -C 10012 -6 -c -H ::1 | sed -n 's/^throughput=\(.*\)/\1/p'
nsw nsw
@ -143,28 +102,18 @@ lat __LAT__ 1000 700
tr TCP throughput over IPv4: host to ns tr TCP throughput over IPv4: host to ns
iperf3s ns 100${i}2 __THREADS__ iperf3s ns 100${i}2 __THREADS__
bw -
bw -
bw -
iperf3 BW host 127.0.0.1 100${i}2 __THREADS__ __TIME__ __OPTS__ iperf3 BW host 127.0.0.1 100${i}2 __THREADS__ __TIME__ __OPTS__
bw __BW__ 15.0 20.0 bw __BW__ 15.0 20.0
iperf3k ns iperf3k ns
tl TCP RR latency over IPv4: host to ns tl TCP RR latency over IPv4: host to ns
lat -
lat -
lat -
nsb tcp_rr --nolog -P 10002 -C 10012 -4 nsb tcp_rr --nolog -P 10002 -C 10012 -4
hout LAT tcp_rr --nolog -P 10002 -C 10012 -4 -c -H 127.0.0.1 | sed -n 's/^throughput=\(.*\)/\1/p' hout LAT tcp_rr --nolog -P 10002 -C 10012 -4 -c -H 127.0.0.1 | sed -n 's/^throughput=\(.*\)/\1/p'
nsw nsw
lat __LAT__ 150 100 lat __LAT__ 150 100
tl TCP CRR latency over IPv4: host to ns tl TCP CRR latency over IPv4: host to ns
lat -
lat -
lat -
sleep 1
nsb tcp_crr --nolog -P 10002 -C 10012 -4 nsb tcp_crr --nolog -P 10002 -C 10012 -4
hout LAT tcp_crr --nolog -P 10002 -C 10012 -4 -c -H 127.0.0.1 | sed -n 's/^throughput=\(.*\)/\1/p' hout LAT tcp_crr --nolog -P 10002 -C 10012 -4 -c -H 127.0.0.1 | sed -n 's/^throughput=\(.*\)/\1/p'
nsw nsw