Page 1 of 1

Throughput Presentation, Questions, & Discussion

Posted: Thu Jul 11, 2019 6:59 am
by JimRockford
I recently ran into a throughput issue with the MikroTik WAPs we purchased as Beta units. That lead me to MikroTiks GREAT presentation on Throughput: ... ... 293932.pdf

In the Youtube video at 17:30 the presenter gets to this slide on TCP Theoretical Throughput:


Even though I had taken TCP classes before, I found this fascinating and I'd really like to discuss it with people here that know more about it. For example, I have a server upload going to Backblaze right now that has been going on for for weeks. It's on a 10 Mbps upload pipe, but we seem to be running at about 2 Mbps. The following Wireshark is from that upload session:


The Syn goes from my server to Backblaze, and the Ack and Syn/Ack is coming back to my server from Backblaze. Notice that the Calculated Window Sizes are 8192, 64220, and 29200 respectively.

With that said, which Calculated Window Size value do we want to use for the calculation? To me it made sense to use the Ack at the end of the handshake, but those numbers don't seem to reflect what I'm seeing. If, however, I were to use the Syn value it gets close to what we're seeing. Even though I'm on a 10 Mbps upload pipe, I'm seeing about a 2 Mbps transfer. If I were to take:

8092 * 8 / 17 = 3.8 Mbps * say 90% for overhead = 3.4 Mbps.

If, however, I use the Ack, value of 29200, after overhead, that gives me a throughput value of about 12 Mbps. I number very close to my true throughput if I go to, but way beyond what I'm actually seeing in real upload speed.

Two questions:

1. Could someone please share where we want to get our Calculated Window Size value?

2. In the presentation, the presenter uses this to show real world TCP Throughput as contrasted to, but the online speed tests use UDP, not TCP, so how does this relate? Isn't it comparing apples and oranges?

Thanks in advance.

Re: Throughput Presentation, Questions, & Discussion

Posted: Thu Jul 11, 2019 1:01 pm
by sebastia

1. Window size is not a constant for a connection: it's adapted throughout the connection.
2. udp and tcp throughputs are not comparable.

Re: Throughput Presentation, Questions, & Discussion

Posted: Thu Jul 11, 2019 6:45 pm
by JimRockford
Thank you for the reply.

On the first question, I understand that the calculated window size will change as the buffer fills, but even at the original handshake I'm having trouble making the math match what we're seeing. Are you saying that I just need to use the calculated window size on any given packet and run the calculation for that particular point in the chain? I suppose in my mind that makes sense, but wow that means I should be seeing MUCH more throughput than I'm actually getting.

On the second question, that was my point. In the lecture the presenter used this to dispute what the UDP speedtest was showing. The example he used was that a user goes to and shows that he is getting 150 Mbps when he should be getting 1 Gbps throughput. How does this dispute that fact if he isn't even getting the correct throughput via UDP?