Coda File System

Re: Transfer Speeds

From: Zetas <>
Date: Sun, 25 Jul 2010 23:28:25 -0400 (EDT)
> On Sun, Jul 25, 2010 at 06:54:55AM -0400, Zetas wrote:
>> I've been doing some performance tests and i'd like to see what you guys think
>> of what im getting, if it could be faster by setting the rvm log and/or data
>> files differently or what.
> RVM shouldn't make that much of a difference as it is only used for the
> meta-data (directory contents and attribute information). A file would
> get transferred directly from a container file on the server in /vicepa/
> to the client's container file in /var/lib/coda/cache/.
> Now the file transfer protocol will probably never set speed records.
> All packets are sent using UDP so everything including retransmissions
> runs completely in userspace. RPC2/SFTP has a trick up it's sleeve that we
> aren't really using that much anymore, it can send to several machines
> in parallel overlapping waiting for ack's and sends a file to three
> servers in the same amount of time it takes to send it to a single one.
> (on the other hand this is only possible because timing wise we cannot
> saturate the link with only a single data transfer)
>> Over the openvpn we have, i get about 210Kbps, so it would seem the open
>> Internet is about 5 times faster. I expected some performance hit form the
>> security, but not that much.
> Well, openvpn requires additional trips back up to userspace, to the
> OpenVPN daemon, which encrypts and then sends it back out. This
> introduces additional latency and the SFTP window is pretty small, only
> about 32KB at most and typically around 8KB so latency is definitely
> noticable. The throughput is windowsize / roundtrip time, i.e. if you
> are seeing about 210 Kbps, then the RTT through the openvpn is probably
> ~40ms, while the direct connection is getting around 5ms RTT.
> This is all if you are talking about a client fetching files from a
> server. When writing to the server things are very different (files are
> written back in small chunks) and when resolving between servers the
> data may be going back and forth several times as all sides are shipping
> each other a set of possibly missed operations and compare each other's
> directory contents at the end to see if resolution succeeded.
>> if we have to go over the open Internet to gain that performance boost, what
>> kind of innate security does coda provide, is there any kind data encryption
> It uses AES-based packet level encryption. The encryption is heavily
> inspired by IPsec, effectively IPsec but implemented at the UDP level
> and managed by the application instead of the operating system.
> See also secure/ in the RPC2 sources,
> Jan


Awesome, thanks for such a complete explanation, im glad to see it has innate
security, looks like we will go over the open internet to achieve the speed

Received on 2010-07-25 23:28:40