The CVS load problem (was Elliot's subjectless post)



Elliot Lee wrote:
> 
> Dear GNOME fans,
[snip]
> As you can see, anoncvs is in a very sorry state.
[snip]
> Where every single anoncvs user can help:
>         3. Smart updating.
>                 (a) Do not update your whole tree with one command.
>                     Update each module individual and sequentially,
>                     so that the server side process does not take 25M of
>                     RAM. It will be slightly slower than doing one big
>                     upgrade, but definitely faster than having no
>                     anoncvs and waiting for tarball releases.
> 
>                 (b) Do not update too frequently. The rule that I would
>                     request people follow is to update once a day at most.
>                     If you encounter bugs during your daily build and
>                     would like to get fixes for them, please make sure
>                     by reading your cvs-commits-list mail that someone has
>                     committed a fix for the problem before trying a second
>                     update. Do not put your update script into crontab
>                     either. Run it when you need it.
[snip]

Elliot, please use a descriptive subject next time. It took me ages to
find this message again. I finally had Netscape search for 'RAM' and
'600' in the body of all messages :-)

Anyway, I was thinking. Does anoncvs actually make any sense at all? I
mean the concept of it. CVS is good for people who will make changes to
their copy of the tree and either commit them, or expect them to not get
overwritten next time they update. But people who use anoncvs don't make
such changes and aren't using any CVS feature that doesn't also exist in
other distribution mechanisms (which are, presumably, lighter on the
servers). Somebody mentioned rdist. Would that be a better idea? I
wouldn't know, myself. Does rdist send patches or does it always send
the whole file? And what about other alternatives? A rather exotic one
that springs to mind is the CODA filesystem. Are there others?

I suppose it boils down to CPU/RAM versus bandwidth. I imagine cvs -z3
update is about as bandwidth-efficient as you can get, but at a great
cost in other resources.

If we keep using anoncvs, then let me suggest one thing. Take one of the
automated update-and-compile scripts that's floating around and tag it
as official. Actively promote that script and try to get absolutely
everyone to use it. Then all you need to do to prevent anoncvs abuse is
to make sure this one script does things correctly. That would mean
updating modules one by one and complaining if called to frequently.

I, for one, have been updating all my modules at once. Not because I'm
evil or inconsiderate, but because I didn't realize it put such a strain
on the server. There's a lot of things that most of us don't know about
cvs, and having a script isolate us from it would help a lot.

Haukur Hreinsson



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