[Vortex] Slow throughput over bandwidth-limited socket
jens at mooseyard.com
Fri Apr 18 22:29:05 CEST 2008
More info: Tweaking various ipfw parameters shows that latency is the
crucial variable. With no delays added, the bandwidth can be turned
down to 256k or even below, and Vortex is still able to use nearly all
of it. But when the packet latency goes up to 50ms or more, things
fall apart: the throughput drops to half or less.
I suspect this has to do with BEEP's flow control. According to RFC
3081, the receiving peer has to keep sending back SEQ frames to re-
open the window after receiving data. If a lot of data is being pushed
through a channel, that will add extra round-trip delays, as the
sender waits for the data to arrive and a SEQ to come back.
In my simulation (256kbps + 50ms latency) the round-trip wait adds
100ms to every 4kbyte data transfer. Since under ideal conditions it
would normally take 125ms to send 4kbytes, the round-trip overhead
*cuts throughput in half*, which is what I am seeing.
(And I take back what I said about this being a regression in the
latest Vortex ... I reverted back to the earlier build I was using,
and the problem persists. I think what happened is that I'm using
larger latency values than I did in my previous test setup.)
The solution would seem to be to increase the BEEP window size. I'm
going to look at the Vortex API to see if there's a way to do that.
Any advice will be greatly appreciated!
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1875 bytes
Desc: not available
Url : http://lists.aspl.es/pipermail/vortex/attachments/20080418/0684fc3f/attachment.bin
More information about the Vortex