[Fuego] [PATCH 3/3] iperf3: use bps instead of Mbps
Daniel Sangorrin
daniel.sangorrin at toshiba.co.jp
Thu Mar 8 04:45:42 UTC 2018
> -----Original Message-----
> From: Tim.Bird at sony.com [mailto:Tim.Bird at sony.com]
> Sent: Thursday, March 08, 2018 8:37 AM
> To: daniel.sangorrin at toshiba.co.jp; fuego at lists.linuxfoundation.org
> Subject: RE: [Fuego] [PATCH 3/3] iperf3: use bps instead of Mbps
>
> A couple of issues I saw while testing this:
>
> Does the iperf3 server only support one connection at a time?
> I tried running multiple tests at the same time, and one of them
> got (from the test console log):
iperf3 has the -P option for the client to run a test with multiple parallel connections.
However, it does not support multiple instances of iperf3's client running at the same time.
# You would need to run it twice on separate ports (-p port)
There is a wrapper script called bwctl that ensures that only one test is running at a time.
I will investigate how to use it and see if that solves the problem.
> #### doing fuego phase: run ########
> Using server ip address: 10.0.1.61
> Starting iperf3 server on localhost (SERVER IP: 10.0.1.61)
> Starting iperf3 client on the target (CLIENT IP: 10.0.1.91)
> {
> "start": {
> "connected": [],
> "version": "iperf 3.1.3",
> "system_info": "Linux m3ulcb 4.9.0-yocto-standard #1 SMP PREEMPT Wed Jul 5 15:05:42 PDT 2017 aarch64"
> },
> "intervals": [],
> "end": {
> },
> "error": "error - unable to connect to server: Connection refused"
> }
>
> The second run, without any contention for the server, ran OK.
>
> Also, most of my board fail the test due to very high CPU utilization.
>
> What is the expected CPU utilization?
It depends on the board I guess.
Beaglebone black: 68.3%
An intel i7 PC: 10.7%
Zynq702: 54.2%
Tegrak1 (jetson): 36.8%
You can control the amount of bandwidth with the -b option (e.g. -b 100M).
> It would be nice to see the png even in the failure case, as there might
> be useful data in it.
OK.
> Overall, patch looks good, but test could use some refinement.
Thanks. I just found another problem myself.
I was using the stdout JSON file directly, but sometimes other messages get
intermingled and the parser gives a "can't decode JSON" error. I will fix this
and send you another patch.
Thanks,
Daniel
>
> Thanks,
> -- Tim
>
> > -----Original Message-----
> > From: Daniel Sangorrin
> > The -f/--format is not being used on the JSON output report.
> > For that reason, I decided to use bps for now and open
> > an issue upstream:
> > https://github.com/esnet/iperf/issues/709
> >
> > Signed-off-by: Daniel Sangorrin <daniel.sangorrin at toshiba.co.jp>
> > ---
> > engine/tests/Benchmark.iperf3/fuego_test.sh | 2 +-
> > engine/tests/Benchmark.iperf3/parser.py | 2 +-
> > engine/tests/Benchmark.iperf3/reference.json | 6 +++---
> > 3 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/engine/tests/Benchmark.iperf3/fuego_test.sh
> > b/engine/tests/Benchmark.iperf3/fuego_test.sh
> > index 09eac86..9f10743 100755
> > --- a/engine/tests/Benchmark.iperf3/fuego_test.sh
> > +++ b/engine/tests/Benchmark.iperf3/fuego_test.sh
> > @@ -26,7 +26,7 @@ function test_run {
> > if [ "$ROUTE" = "local" ]; then
> > echo "Starting iperf3 server on localhost (SERVER IP:
> > $IPERF3_SERVER_IP)"
> > killall iperf3 2> /dev/null || true
> > - iperf3 -V -s -D -f M $BENCHMARK_IPERF3_SERVER_PARAMS
> > + iperf3 -V -s -D $BENCHMARK_IPERF3_SERVER_PARAMS
> > fi
> >
> > echo "Starting iperf3 client on the target (CLIENT IP: $IPADDR)"
> > diff --git a/engine/tests/Benchmark.iperf3/parser.py
> > b/engine/tests/Benchmark.iperf3/parser.py
> > index 1097803..a91b88a 100755
> > --- a/engine/tests/Benchmark.iperf3/parser.py
> > +++ b/engine/tests/Benchmark.iperf3/parser.py
> > @@ -51,7 +51,7 @@ with open(plib.TEST_LOG) as f:
> > plt.plot(time, bits_per_second)
> > plt.title('iperf3 client results')
> > plt.xlabel('time (s)')
> > - plt.ylabel('Mbps')
> > + plt.ylabel('Bits per second (bps)')
> > fig.savefig(os.environ['LOGDIR'] + '/iperf3.png')
> >
> > sys.exit(plib.process(measurements))
> > diff --git a/engine/tests/Benchmark.iperf3/reference.json
> > b/engine/tests/Benchmark.iperf3/reference.json
> > index 930a94d..f10dc3a 100644
> > --- a/engine/tests/Benchmark.iperf3/reference.json
> > +++ b/engine/tests/Benchmark.iperf3/reference.json
> > @@ -8,7 +8,7 @@
> > "measurements":[
> > {
> > "name":"bits_per_second",
> > - "unit":"Mbps"
> > + "unit":"bps"
> > },
> > {
> > "name":"retransmits",
> > @@ -21,7 +21,7 @@
> > "measurements":[
> > {
> > "name":"bits_per_second",
> > - "unit":"Mbps"
> > + "unit":"bps"
> > }
> > ]
> > },
> > @@ -30,7 +30,7 @@
> > "measurements":[
> > {
> > "name":"bits_per_second",
> > - "unit":"Mbps"
> > + "unit":"bps"
> > },
> > {
> > "name":"jitter_ms",
> > --
> > 2.7.4
> >
> >
> > _______________________________________________
> > Fuego mailing list
> > Fuego at lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/fuego
More information about the Fuego
mailing list