[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Multiple CVS servers for a single CVS repository

From: Arthur Barrett
Subject: RE: Multiple CVS servers for a single CVS repository
Date: Mon, 17 Jul 2006 09:23:37 +1000

> 6. Repository is on a NFS file sever.

Do not do this - it is unreliable and can result in repository
corruption.  Your repository should always be on a local disk on SAN.

In addition NFS is not designed for high throughput disk access.  The
CVS repository is like a database.  Would you put an Oracle Database on
an NFS drive and then complain that Oracle is such a slow database?

> Since we are constantly seeing more than 60 concurrent
> users and cvs response is very slow. I am trying to

This load is very small.  CVS is used by very large organisations
including SourceForge and is very scalable.  If you have performance
problems then you need to look at why.  No one can help you with that
unless you provide some detailed information and diagnostics. 

What do you mean by "performance problem" are you talking about slow
update, slow commit, slow checkout, slow edit?  What do you mean by
"slow"?  Which version of client and server are you using.  Is it CVSNT
(runs on linux and windows, unix, mac etc) or is it CVS?  Is "slow" less
that a second or is it more than a minute.  A trace of "slow commands"
will help, if you are using CVSNT then the trace includes timestamps for
each step of the trace so that any "delays" can be diagnosed.

There has been various threads on performance recently on the CVSNT
newsgroup, performance problems that have been seemingly generated by
CVS/CVSNT have been actually found to result from:
* network cards
* disk drivers (particularly RAID)
* anti virus software
* firewalls (particularly ones that include anti virus)
* network throughput (100Mbps networks have a maximum throughput...)
* CruiseControl set with very frequent checkout

If you can purchase support from one of the listed vendors then they
will be able to help you:

For instance the company I work for has offices and consultants in North
America, UK, Germany, Spain and Australia.

> network performance. In addition, I would like to find
> if I can add additional CVS servers to do some kind of
> load balancing. 

This is similar to the "repository replication" question that's cropped
up now 3 times in a week.  Repository replication can be a contentious
topic.  CVS was designed for use on networks much slower than todays,
and so therefore operates well in a multi site environment without the
need for repository replication.  

I believe that sourceforge do use some kind of load balancing, but you
are nowhere near there level of throughput yet.

> My question is can I just add another
> CVS server and mount the same file server. How is CVS
> handling the lock? If multiple read/write requests
> from two different CVS server, will data integrity be 
> maintained?

CVSNT has some support for clusters via a separate lock server, though
CVS achieves a similar result with a larger grain due to the lock files
it stores in the repository directory.  You would need some clustering
software to ensure the "new" connection requests were directed at the
least busy server of course.

However I do want to stress - for the load you are discussing none of
this should be necessary.


Arthur Barrett

reply via email to

[Prev in Thread] Current Thread [Next in Thread]