Optimizing Coda 6.x

of Kiss Coda Wiki

Considerations around some desisions in setting up coda 6.

NOTE as of Apr 13, 2005 much of this disagrees with the outdated documentation.**

NOTE as of 2010 and later the notes below are obsoleted too, take them with a grain of salt. Some parts are irrelevant if you use a modern installer.

Server

Number of Servers

Some older documentation talks about using multicast to save bandwidth, but in coda 6.x, this is not the case. So every time you add a new replica server you are increasing the bandwidth required for each write. Also, in strongly connected mode, when a client writes to a coda volume, that file is sent to all servers.

This isn’t as bad as it sounds, on a local (fast) network our SFTP window is too small to really saturate a fast link, we also have to wait for the server to write the received data to disk. By pushing to several servers simultaneously we effectively double/triple the SFTP window size and can send data to a second server while the first is busy flushing data to disk. Some measurements I did showed that sending to 2 or 3 servers is as fast (and in some weird situations faster) than sending to a single server. Only by the time we had more than 3 replicas there was a noticable effect on the total transfer time.

However when a replica server is offsite or behind a slower connection the client will consider the whole volume ‘weakly connected’. As a result it will run in a degraded consistency mode where it batches writes in the local modification log and send them to the server that has historically had the best connectivity. Once this server has been updated, the client will trigger server-server resolution which is a far more costly process. It involves about 5-6 phases where data is gathered and differences are analyzed by one server, and a solution is then pushed to all replicas, finally the data is refetched so verify that all replicas are now in agreement. This means that the data will end up traversing the slow link at least twice.

RVM (Meta)Data and Log sizes

Server Volumes

Backup

Client

Client Cache

Based on notes by Jan Harkes 02:45, 17 Apr 2005 (CEST)

Files

Based on notes by Jan Harkes 03:34, 17 Apr 2005 (CEST)


At its former host wikidev.net this page has been accessed 4555 times.


Last modified: Thu Jun 26 07:36:56 UTC 2014