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:
https://www.youtube.com/watch?v=zsrdgo0 ... e=youtu.be
https://mum.mikrotik.com/presentations/ ... 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 speedtest.com, but way beyond what I'm actually seeing in real upload speed.
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 Speedtest.com, but the online speed tests use UDP, not TCP, so how does this relate? Isn't it comparing apples and oranges?
Thanks in advance.