[Vortex] Slow throughput over bandwidth-limited socket

Jens Alfke 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!

Thanks,

—Jens
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1875 bytes
Desc: not available
Url : http://lists.aspl.es/pipermail/vortex/attachments/20080418/0684fc3f/attachment.bin 


More information about the Vortex mailing list