It appears that if we run throughput tests with one-second periodic reports, the sending side of the vhost channel used for SSH-based command dispatch occasionally stops working altogether. I haven't investigated this further, all I see is that output is truncated at some point, and doesn't resume. If we use gzip compression (ssh -C) this happens less frequently, but it still happens, seemingly indicating the issue is probably related to vhost itself. Disable periodic reports in iperf3 clients. The -i options were actually redundant, so remove them from both test files as well as from test_iperf3(). Signed-off-by: Stefano Brivio --- test/lib/test | 2 +- test/perf/passt_tcp | 2 +- test/perf/passt_udp | 2 +- test/perf/pasta_tcp | 2 +- test/perf/pasta_udp | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test/lib/test b/test/lib/test index b69d519..d68ade4 100755 --- a/test/lib/test +++ b/test/lib/test @@ -44,7 +44,7 @@ test_iperf3() { '(' \ ' for i in $(seq 0 '${__procs}'); do' \ ' iperf3 -c '${__dest}' -p '${__port} \ - ' -t'${__time}' -T s${i} '"${@}"' &' \ + ' -t'${__time}' -i0 -T s${i} '"${@}"' &' \ ' done;' \ ' wait' \ ')' diff --git a/test/perf/passt_tcp b/test/perf/passt_tcp index 5f0aa3a..5ba5450 100644 --- a/test/perf/passt_tcp +++ b/test/perf/passt_tcp @@ -46,7 +46,7 @@ set THREADS 1 set STREAMS 8 set TIME 10 hout OMIT echo __TIME__ / 6 | bc -l -set OPTS -Z -P __STREAMS__ -l 1M -i1 -O__OMIT__ --pacing-timer 1000000 +set OPTS -Z -P __STREAMS__ -l 1M -O__OMIT__ --pacing-timer 1000000 info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams report passt tcp __THREADS__ __FREQ__ diff --git a/test/perf/passt_udp b/test/perf/passt_udp index 6bd86ff..fd2ddc1 100644 --- a/test/perf/passt_udp +++ b/test/perf/passt_udp @@ -38,7 +38,7 @@ hout FREQ [ -n "__FREQ_CPUFREQ__" ] && echo __FREQ_CPUFREQ__ || echo __FREQ_PROC set THREADS 4 set STREAMS 1 set TIME 10 -set OPTS -u -i1 -P __STREAMS__ --pacing-timer 1000 +set OPTS -u -P __STREAMS__ --pacing-timer 1000 info Throughput in Gbps, latency in µs, __THREADS__ threads at __FREQ__ GHz, one stream each diff --git a/test/perf/pasta_tcp b/test/perf/pasta_tcp index 44c5e54..1847c83 100644 --- a/test/perf/pasta_tcp +++ b/test/perf/pasta_tcp @@ -25,7 +25,7 @@ set THREADS 2 set STREAMS 2 set TIME 10 hout OMIT echo __TIME__ / 6 | bc -l -set OPTS -Z -w 4M -l 1M -P __STREAMS__ -i1 -O__OMIT__ --pacing-timer 10000 +set OPTS -Z -w 4M -l 1M -P __STREAMS__ -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_CPUFREQ (echo "scale=1"; printf '( %i + 10^5 / 2 ) / 10^6\n' $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq) ) | bc -l diff --git a/test/perf/pasta_udp b/test/perf/pasta_udp index abb88b0..27ea724 100644 --- a/test/perf/pasta_udp +++ b/test/perf/pasta_udp @@ -23,7 +23,7 @@ hout FREQ [ -n "__FREQ_CPUFREQ__" ] && echo __FREQ_CPUFREQ__ || echo __FREQ_PROC set THREADS 1 set STREAMS 4 set TIME 10 -set OPTS -u -i1 -P __STREAMS__ +set OPTS -u -P __STREAMS__ info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams -- 2.35.1