Hi guys!
I have huge projects on a CVS repository, and I'm looking for ways to improve its performance. Would CVS compression help it? And what about encryption, does it degrade the speed?
Thanks!
Hi guys!
I have huge projects on a CVS repository, and I'm looking for ways to improve its performance. Would CVS compression help it? And what about encryption, does it degrade the speed?
Thanks!
Performance issues are usually IO related. (Unless you can see your CPU maxing out at 100%). I'd recommend trying to put the repository on a faster drive array (RAID 10 and/or higher RPM drives) to see if that increases your performance. If you are accessing the repository over the internet, then its likely a bandwidth issue, although depending on how much data you are talking about, even a simple DSL connection should be able to handle it.
cvs it self can't compress afaik, but if using ssh for transport ssh can do that (and do this by default I think). This will help if having slow connection. edit: actually cvs got the -z options (as ssh got the -C )
Encryption is not something one use to increase performance. Using ssh will do encryption aswell, but that's not for performance but security.
Wherever the repository sits, disk access for repository and temporary files will affect performance. That combined with memory. When checking out, cvs will build what to send to the client (as temporary files). This caused a lot of discaccess and in some cases memory usage (esp if dealing with big binary files).
CVS will get slower over time through repeated use.
If after all of that, you want to improve performance of shifting the data between the server and the client, then you can (depending upon your content type) use the -z option for compressing. I find -z6 to be best, but depending upon the nature of your files, you may want more/less compressing.
-z GZIPLEVEL
Sets the compression level on communications with the server. The argument GZIPLEVEL must be a number from 1 to 9. Level 1 is minimal compression (very fast, but doesn't compress much); Level 9 is highest compression (uses a lot of CPU time, but sure does squeeze the data). Level 9 is only useful on very slow network connections. Most people find levels between 3 and 5 to be most beneficial.
A space between -z and its argument is optional.