Skip to Content.
Sympa Menu

ndt-dev - [ndt-dev] Re: Moving increment point of _c2sSendCount

Subject: NDT-DEV email list created

List archive

[ndt-dev] Re: Moving increment point of _c2sSendCount


Chronological Thread 
  • From: Sebastian Kostuch <>
  • To: Will Hawkins <>, "<>" <>
  • Cc: MLabStaff <>
  • Subject: [ndt-dev] Re: Moving increment point of _c2sSendCount
  • Date: Wed, 04 Jun 2014 12:15:27 +0200

Hi Will,
thank you a lot for your appreciation on JSON work :).
When it comes to issue you have mentioned then in fact it seems
wiser to increment the counter right after sending data. I have also
investigated this and can confirm that bytesPending doesn't reach 0
every time we would expect it. I think that also event related to
OUTPUT_PROGRESS could not always be fired as often as bytesPending
value changes (there is some minimal time difference between such events
right?) so we might have missed some counter increments due to this also.
Thank you for noticing this and all the fixes you have made so far!

Regards
Sebastian

On 03.06.2014 18:09, Will Hawkins wrote:
Hello Sebastian!

Thanks for doing all that great work on the json-ifying of the ndt
protocol. I've been doing testing and found a few things that need
fixing. They are mostly just simple fixes that do not affect the
measurements themselves.

However, I have one "suggested" change that does affect measurement
quality and I would like your feedback. This issue came to my attention
when the C2S test began calculating negative throughput values in
certain cases. I also noticed widely different throughput calculations
between the server and the client.

See:
https://code.google.com/p/ndt/source/diff?spec=svn1070&r=1070&format=side&path=/branches/Issue144/flash-client/src/TestC2S.as

Especially see lines ~250 and ~325. I believe that this change is
necessary. With the updated version, we increment the send count every
time that we stuff new data into the socket's outgoing queue. This
properly balances the subtraction of the socket's pending bytes when
calculating the throughput.

I do not think that incrementing that counter when the outgoing buffer
length is 0 works like we think that it should. I did some debugging and
noticed that the value is not monotonically decreasing. This seems to
indicate that data is getting stuffed into the outgoing queue before it
is entirely empty.

Once I made this change, the calculated throughput by the server and the
client began to match more closely.

I am very interested in hearing what you think about this! Again, thanks
for doing all the great work in modifying the ndt protocol to support
json! Talk to you soon!

Will





Archive powered by MHonArc 2.6.16.

Top of Page