Rich Brown <> writes:

>>  Basically, the problem is the way netperf determines its data output 
>> intervals in demo mode:
> Ahah! That was the explanation, but I wasn't (yet) smart enough to
> comprehend it. [To further test out my understanding... If netperf
> were to use a smaller "data output interval" when it's transmitting,
> it would create more frequent updates and the granularity would be
> higher...]
> But I'm not sure that fully explains it unless netperf uses a (very)
> different data output interval for receiving... The download chart has
> hundreds of points, while the ratio between my download and upload is
> about 10:1 (7mbps vs 768kbps) so I'd expect the upload chart to have
> something like dozens of points...

This is because netperf only checks whether it should output a data
point after it has sent a certain number of bytes. 16k in your case
(it's in the series metdata). At 768kbps, 16k bytes takes ~2.6 seconds
to send, so you'll get at most one data point for every such interval.

Now that I'm looking at this again, it seems that you can actually set
the send size. However, lowering it naturally impacts CPU usage. A quick
test on my laptop indicates that lowering it to 512 bytes raises
netperf's CPU usage from ~2% to ~20% for a single flow at half a

So yeah, we could probably lower it somewhat, but to what? We can't
know ahead of time what connection speed we will be running on.

If you want to try a quick test with a smaller size, this patch (to
Flent) adds the option unconditionally; obviously not the right way to
go about it, but it should allow you to test the impact at least:

diff --git a/flent/ b/flent/
index a75223d..3d5e373 100644
--- a/flent/
+++ b/flent/
@@ -1049,6 +1049,7 @@ class NetperfDemoRunner(ProcessRunner):
                        "{marking} -H {control_host} -p {control_port} " \
                        "-t {test} -l {length:d} {buffer} {format} " \
                        "{control_local_bind} {extra_args} -- " \
+                       "-m 512,512 " \
                        "{socket_timeout} {local_bind} -H {host} -k 
{output_vars} " \
                        "{cong_control} {extra_test_args}".format(**args)

You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
Flent-users mailing list

Reply via email to