prosba zwiazana z CVS-em pld

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Śro, 13 Paź 1999, 22:47:20 CEST


On Wed, 13 Oct 1999, Jarek Druzd wrote:

Pozwolę sobie wysłać Cc na pld-list, bo chyba warto żeby to też i tam
dotarło.

> Heja
> 
> Ostatnio wlasnie chcialem sobie sciagnac cale SOURCES z CVS-a ale poprostu
> polaczenie zdycha bardzo, ale to bardzo czesto, wiadac przez te buraki
> zwiazane z memory leakami w CVS-ie... W zwiazku z tym czy mozna by bylo
> jakos sciagnac (a raczej dociagnac z CVSa, mam narazie jakies 200-250MB)
> to co mi brakuje ? oczywiscie via FTP, ew. sftp, kiedys o ile pamietam
> mozna bylo via anonymous ftp na ftp://cvs.pld.org.pl, ale ostatnio
> patrzylem i nie moglem sie doszukac katalogu z zawartoscia CVS-a.

Szczerze mówiąc nie polecam wogóle ściagać całości :-)
Tak .. można się bez tego obejść.

Ściagnij tylko SPECS. Do reszty używaj skryptu builder który jest w SPECS.
Służy on do ściagania jak i od razu także budowania pakietu bezpośrednio z
repo (urucom go bez parametrów to się ładnie przedstawi co potrafi). W tej
chwili zawatośc SOURCES to około 850MB i będzie tego jeszcze z kilka razy
tyle. Nie wiem czy opłaca Ci się ściagać wszysko. jest tam jednak
jeszce duzo śmeicia, który czeka w kolejce na obrobienie. Jeżeli widziałeś
statystykę odwołań do repo i zauważyłeś to że z test2.zie.pg.gda czyli
hosyta na którym pracuję odwołań jest kilk razy więcej niż zaraz
następnych. Dlaczego ? Ano dlatego, że właśnie, że wiekszość moich
odwołań to wołania przez buildera, który skraca mi wszystkie operacje do
niezbędnego minimum.

Inna podpowiedź jesta taka, że możesz próbować zaciągać zasoby przez
buildera wywołując:

$ cd SPECS
$ cvs up
$ for i in *.spec; do ./builder -g $i || :; done

W ten sposób jest gwarancja, że odwołania bedą krótkie, a to że będzie ich
więcej nie szkodzi dla serwera (przy okazji inni którzy wykonują zapisy
bedą mieli wieksze szanse dobić się z zapisem). Nie wszystkie zasoby i tak
dociągniesz tą metodą ponieważ nie wszystkie pakiety są dopracowane i te
na których podczas ściagnia coś się wywali bo czegoś będzie
brakowało czy coś koło tego możesz od razu uważać za niewykończone/te nad
którymi można/warto popracować.

Chyba udało mi się dotrzeć do wszystkich tych co "blokowali" repo i chyba
na razie jest na tyle czasu żeby spróbować znaleźć błąd w cvs i
jednocześnie nie musieć blokować częsciowo dostępu do repo. Jeden host na
(apoplexy.lo14.szczecin.pl) na razie wyblokowałem na FW i ściagnę to w
każdej chwili o ile dotrze do mnie to, że osobnik który ciagnął hurtem
dane z repo przeczytał ten list :-) (w razie czego prosiłbym o przekazanie
tej wiadomości osobie która to robi o ile ktoś ją zna).

Tak czy inaczej .. ciagnąć możesz dalej o ile tylko takie odwołamnie nie
przekraczają pewnego progu objętości jednocześnie ściaganych plików gdyż
im wiecej serwer w jednym podejściu wyserwuje tym bardziej puchnie.

Najważniejsze jest to żebyś zdał sobia sprawę z tego, że na dobrą sprawę
nie potrzebujesz mieć pełnej zawartości repo, a tylko to nad czym chcesz
paracować w danym momencie, a reszte możesz dociagać bezpostrednio z
pakietów już przerobionych wystawianych na ftp. Także w większym stopniu
polecałbym korzystać z http://cvsweb.pld.org.pl/

Z wyciągania zasobów z repo po to żeby je wystawiać na ftp zrezygnowałem
już kilka miesiecy temu gdyż już to samo w sobie dość mocno obciażało
serwer cvs.

Na dłuższą metę jeżli chodzi o odwołania zapisu chyba warto pomyśleć o
czymś innym. Mianowicie o jakiś mechaniźmie który wychwytywałby na wejściu
na cvs.pld.org.pl odwołania typu update, get, log, status i przekazywał je
do jednego z hostów który ma całe repo podmontowane po nfs z
cvs.pld.org.pl w trybie ro, a sam obsługiwał tylko odwołania typu zapis. W
ten sposób możnaby próbować modyfikować cvs żeby podczas odczytów nie
blokował modułów lub locki zakładał w osobnym katalogu tak żeby nie były
one obecne w hierarhii katalogów repo. W trn spsosób także możnaby bardzo
mocno zwiekszyć skalowalność samego serwera CVS jeśli chodzi o obciążenie,
a granice tegoż skalowanai byłyby zależne już raczej od zasobów
sprzetowych, których za najdalej miesiac nie bedzie mi brakować.  Po
zatkaniu obecnego wycieku dwa trzy komputery obsługujące coś takiego
jednocześnie powinny wytrzymać już naprawdę duze obciążenie przekraczajace
zapewn o rząd wielkości czy jeszcze jeszcze kawałek to co jest obecnie.
Przypuszczam, że taki cvs_redirector możnaby napisać jako wrapper na cvs i
do pewnego stopnia mogłoby być to podobne do różnych tcp redirectorów
jakich w źródłach możan znaleźć tu i ówdzie. Znajomy mówił mi, że
teroretycznie możnaby to nawet próbować pisać w perlu lub czymś takim. Sam
tylko czuje że jest to możliwe i dość poprawne zapewnienie większej
skalowalności serwera cvs niemniej nie posiadam wystarczjacego
przygotowania żeby coś takiego napisać. Może ktoś mógłby pomóc ? W tej
chwili nie jest to jeszcze palace ale za jakis czas może być kluczowe.

W grę wchodzić ostatecznie może także próba przejścia na prcs czy aegisa o
ile spełniałyby one wymagania co do obciażenia jakie by były w stanie
obsłużyć. Niemniej nie chciałbym tego typu kroku podejmować ze względu na
to, że technologia zwiazana z CVS jest juz nam dość dobrze znana, a
ewentualne zmiany narzędzi na relatywnie długi czas spowolniłyby prace.
Traktować to chciałbym jako naprawdę ostateczność.

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



Więcej informacji o liście dyskusyjnej pld-devel-pl