[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 10:10:35 +1000

I've cc'd the newsgroup because I think this is still relavent to other

> There users use cvs running in command windows, 
> cvsnt, linux cvs clients.

I recommend that if you can switch all users to either CVS or CVSNT.
Doing this will simplify diagnosing problems.  Also CVSNT client (and
WinCVS/TortoiseCVS) is designed to work best with CVSNT servers (on

The CVSNT newsgroup is here:

Also you still haven't indicated what version(s) you are using.  Eg:
CVSNT, or CVS 1.11.1 etc etc.

You create a trace using:
cvs -ttt -d :pserver:hostname:/myrepo co mymodule 2> trace.log

You can find the version using:
cvs -d :pserver:hostname:/myrepo version

> Some simple checkout tests from multiple clients (from
> 1 through 30). They all check out the same directory
> (about the 1.2 GB) through stable network. 

This is not necessarily a good test since a user should "checkout" only
once in a while, after that a simple update will suffice (and is more
network effictient).  Even if you are changing branches, and update -A
will work fine.

A 1.2Gb module is not something that would "normally" be checked out
from scratch regularly...  

> With only one checkout, it will take about 3 to 4 minutes. 

With an 800 Mhz PA-RISC Unix server running CVSNT 2.5.03 I can checkout
660Mb 8000 file module in 38 seconds.  Three checkouts ran
simultaneously take about 1m51s.

> With 30 checkout, it will take about 25 minutes. 

This sounds like the limit of your network bandwidth.  If that is true
then adding CVS servers wont help.  To improve the raw network speed you
need to get a faster network, or change your process so you use more
efficient commands (eg: "update" instead of "checkout").

However what is "unacceptable" about 1.2Gb x 30 taking 25m?  What will
be "acceptable"?  What is your CM processs?  What is in this 1.2Gb
module that 30 users each need to checkout the entire thing all at once?

You can probably improve network performance a little by using
compression, but then you will increasr the CPU load on both the server
and the client, eg:
cvs -d:pserver:hostname:/myrepo -z9 co module

> Users from other sites with 300KB network speed,
> checking out 300 MB and then rtag, it will take them

You do not need to checkout in order to rtag, just do the rtag - it
should only take a few seconds to run.

> With regard to the repository replication, do you mean
> with relative stable and fast network, I do not need
> to worry about data integrity issue?

No I mean that with a stable and fast network you do not need repository
replication.  In fact even without a stable and fast network you do not
need repository replication, you just need some good CM processes and
your CVS installation and network tuned to maximum efficiency.

If this is a mission critical problem for you and you really need step
by step assistance, I really do recommend professional support.  Contact
me off the list with your company information if you need a quote.


Arthur Barrett

reply via email to

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