info-cvs
[Top][All Lists]
Advanced

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

Re: cvs performance questions


From: Richard Pfeiffer
Subject: Re: cvs performance questions
Date: Thu, 23 Oct 2003 16:03:15 -0700 (PDT)

Thank you very much, Larry and Eric, for the responses dealing with cvs performance issues, especially as they relate to branching.  I believe I understand that branching speed is affected by a number of things, including:
1) the size of the project dir
2) where the branch is taking place in the project relative to the number of subdirs that will need to be locked (lock overhead),
3) the number of users who are competing for the same dirs and waiting for each others locks,
4) how many revisions exist on the branch
5) branches that were created many revisions ago 
6) the branches' distance from the trunk
 
 
 What follows is the scenario we have here and I would like to get your expert opinions if possible.  I am wondering if I need to start having the developers communicate when a branch is being created so that no one else is also creating one at the same time and causing, at worst, time out errors - or at best, the branch command works but takes forever:
 
As stated by a developer:
Relevant info:  we have a codebase in the project directory.  We created a branch called "proj-10_5_0_1_perf".  When we get this error we are trying to create a new branch off of the proj-10_5_0_1_perf branch.  There are probably a couple of people trying to do this right now - perhaps that's why we're getting lock problems.  Also, due to our development process, people are checking in code and checking out code on a very frequent basis.
 
When the branch command is run, usually via Eclipse, the problem lies in that the tags get created but the new branch creation sometimes fails. 
Sometimes it does work, slowly, and the branch is created; but other times you get these locking warnings, cvs times out and branching fails:

proj_1_2_3: cvs server: [14:16:25]  waiting for bob's lock in /cvs_repos/proj/src ...

proj_1_2_3: cvs server: [14:16:55]  obtained lock in /cvs_repos/proj/src ...

etc...

 

Now it appears to me, by the statement " When we get this error we are trying to create a new branch off of the proj-10_5_0_1_perf branch." , that they are creating a branch off of a branch.  Thus, they are getting further and further from the trunk. I would imagine this alone would have to be causing at least some of their speed problems.  Then combine that with competition amongst other users also doing branching and/or even simple co/ci commands.  We actually have two different project groups here, both of whom are doing massive branching excersises as described.  The rest of the groups I administer are using cvs in a more "normal" way and they have no issues with performance whatsoever.

 

Comments?  Is this level of branching abnormal?

 

I hope I explained this clearly and I thank you all VERY much for your time.  I have learned a ton from this list!

-R


Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
reply via email to

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