Optimizing Coda 6.x

Notes on the tricky questions in setting up coda 6 – much of this disagrees with the current documentation.

Last Updated 4/8/2005

Server

RVM (Meta)Data and Log sizes

•	Determine the number of files and directories you want to accommodate.  Take expected max number of files times 500 plus expected max number of directories times 3000 and you have your rvm size.  Use the rvmsizer.c utility to make this calculation on an existing file tree and then use some multiple (I used 15) to allow for growth.
•	It's no longer necessary to use partitions for rvm metadata or logs from a performance standpoint.  In fact, there may be better performance from using a file.  However, either way, the rvm meta data file or partition will be mapped entirely into memory so you must have enough RAM (+swap, but you don't really want it swapping, do you?).
•	A log size of 20M should work for any setup
•	Note that the size of the RVM is dependent on the number of files and directories across all volumes (not per volume) and has nothing to do with file size.
•	It no longer matters what filesystem type the logs, metadata, and file data are stored under.  ext3 is just as efficient as ext2.
•	A separate partition for file data can be useful in limiting the disk space coda can use and preventing system problems due to disk-full errors.

Server Volumes

•	Volumes are used as administrative units to specify owner and group permissions, quotas, backup strategies, etc.
•	Certain operations are done per volume.  Coda runs more efficiently with smaller volume sizes and more volumes than the other way around.
•	Volume creation and mounting is arbitrary, but volume names should either match or somehow indicate their mount points.
•	If you will be frequently moving files between two points in a directory tree, it would be advantageous to have those two points in the same volume so that the file doesn't have to be copied byte-by-byte for the move operation.

Client

Client Cache

•	The client has its own RVM metadata for the files in its cache.  The RVM data file can't be larger than 1gb, and should be much smaller than the available memory on the client so that the client is not too resource-intensive.  The calculation of RVM size in memory is made in the same way as the server: 500 times number of files plus 3000 times number of directories.  Be sure to limit the number of cache files as well as the amount of data in the venus.conf file so you don't overflow your RVM.