info-cvs
[Top][All Lists]
Advanced

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

Re: more cvs performance questions (I think they are at least interes


From: Derek Robert Price
Subject: Re: more cvs performance questions (I think they are at least interesting though!)
Date: Wed, 29 Oct 2003 10:38:57 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mark D. Baushke wrote:

| The creation of cvs locks is a multi-step process that ends with a
| #cvs.lock directory being created for the duration of the lock and then
| being removed. For some operations, the creation of the read file, the


Just picking a nit.  The #cvs.lock directory exists for the duration or
a write lock or the time it takes to create a new read lock file.  read
lock files exist for the duration of a read-only operation.

| >I then read the link: 10.5-Several developers simultaneously
attempting to
| >run CVS, that goes along with LockDir.
| >
| >The beginning states that cvs will try every 30 seconds  to see if it
| >still needs to wait for lock.
|
| The backoff if two processes try to lock the same directory at the same
| time can be expensive in delay time, but those processes are just doing
| a sleep, so it should not horribly impact the load on your machine.
|
| >e)     Any chance this is a parameter that can be decreased * or would
| >it's checking more often just create more overhead and slow things down?
|
| I have not played much with it. The value you want to muck with is in
| src/cvs.h
|
| #define CVSLCKSLEEP     30              /* wait 30 seconds before
retrying */
|
| it is called from lock_wait().


If your problem is excessive swapping, then decreasing this would cause
processes to wake and be swapped in more frequently.

| >2401  stream  tcp  nowait  root  /usr/local/bin/cvs
| >
| >cvs -f --allow-root=/usr/cvsroot/PROJ1 pserver
| >
| >2402  stream  tcp  nowait  root  /usr/local/bin/cvs
| >
| >cvs -f --allow-root=/usr/cvsroot/PROJ2 pserver
| >
| >Or, switching that around, would there be any benefit to having two
| >repositories and connecting both of them to one pserver?
|
| Many folks have multiple --allow-root options on one pserver invokation
| to allow multiple disjoint cvs repositories to be served by one server.
|
| I do not believe it to cause any difference with regard to performance.


And you'd have to hack CVS to handle with only a single init as you
propose, since CVS expects each root to have a CVSROOT directory of its own.

Derek
- --
~                *8^)

Email: address@hidden

Get CVS support at <http://ximbiot.com>!
- --
If vegetarians eat vegetables, what do humanitarians eat?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Using GnuPG with Netscape - http://enigmail.mozdev.org

iD8DBQE/n98QLD1OTBfyMaQRAnzBAKC2UwFh8NqO23NisQzo3FrSJuoqFgCgl5un
BtYNsn1t+0nFQqHJHyfOsNo=
=kbcW
-----END PGP SIGNATURE-----






reply via email to

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