ggrelay łatwo się zapycha przy awarii serwera gg (co
zdarza sie dość często). Wystarczy że jeden użytkownik,
gdy serwer gg padnie, bedzie próbował się połączyć,
zajmie wszystkie wolne miejsca i zazwyczaj i tak się
nie połączy. Wszystkie połączenia ggrelay'a beda w
stanie TIME_WAIT - i tak mozna sobie czekać (3 dni
kiedys czekalem i nic) :) pomaga wtedy tylko restart
ggrelay'a. Troche to wkurzajace jak nie ma sie chwilowo
dostepu do serwera. Myśle że problem mozna by rozwiązać
dodając opcje limitu na konkretne ip w sieci lokalnej
(np 10 połączeń), a przy przekroczeniu limitu,
rozłączało by najstarsze połączenie i w tamto miejsce
łączyło na nowo.
Z kosmetycznych błędów - ggrelay 1.3-D przedstawia się
jako 1.3-C, ale to już w niczym nie przeszkadza.
Logged In: YES
user_id=567520
Proponuję prostsze rozwiązanie - po prostu sprbuję
wprowadzić jakiś sensowny limit na czas ustanawiania
połączenia. Tak w ogle to ggrelaya czeka jeszcze
restrukturyzacja - chciałbym wyeliminować osobne wątki
służące jedynie do ustanawiania połączenia... jednakże pki
co sesja się zbliża więc nie mam czasu na większą przerbkę.
Sprbuję wspomnianego prostszego rozwiązania.
Logged In: YES
user_id=505380
Ustawienie limitow czasowych na TIME_WAIT nic nie dalo:( gg
potrafi sobie zrobic kilkaset polaczen na sekunde:( liczba
polaczen z jednego ip do ggrelaya czesto dochodzi do 4000!
Poza tym po takim przepchaniu, jak polaczenia sie
pozamykaja, to ggrelay i tak nie odpowiada - w takim
przypadku trzeba zabic proces ggrelaya i uruchomic
ponownie-efekt jest taki jakby serwer gg byl caly czas
padniety, jak szybko przekieruje na bezposredni - gg dziala,
wroce spowrotem - gg nie dziala.
Logged In: YES
user_id=567520
Dodalem mozliwosc ustawiania sensownych timeoutow. Nowa
funkcjonalnosc jest w ggrelay 1.4
Logged In: YES
user_id=567520
Jesli chodzi o to ggrelay 1.4 to sciagnij je jeszcze raz
(jesli juz probowales), bo przed momentem wrzucilem nowe
wydanie 1.4 :)
Tak poza tym to czy na pewno GG otwiera te 300
polaczen/sekunde czy moze jakies inne syfy? Moze zatem
wpisac w iptables regulke na limitowanie ilosci otwieranych
polaczen do ggrelaya na sekunde (chocby na probe).
Tak czy inaczej napisz, jakie sa efekty prob.
Logged In: YES
user_id=505380
ggrelay-1.4 sciagalem o 00:03:) (tar.gz) Poczekamy teraz na
pad gg, symulowac nie bede bo mnie ludzie wyklna:) Jesli
chodzi o taka ilosc polaczen to na pewno gg - po wylaczeniu
gg ruch od razu znika (sprawdzalem przy uruchomionym
tcpdumpie, filtr tylko na jeden ip lokalny i port 8074).
Czasem otwiera tylko kilkadziesiat polaczen przy braku
sprawnego serwera gg, a czasem duzo wiecej. Ale to juz gg ma
swoje bledy.
Co do iptables - przed chwila tez o tym pomyslalem, ale
wyproboje w godzinach dziennych:)
Logged In: YES
user_id=567520
No to czekamy na wyniki...
Logged In: YES
user_id=505380
Niestety chyba niewiele to dalo:( przynajmniej u mnie.
Dzisiaj mialem okazje potestowac. Wiec, po padze serwera gg,
jeden klient zrobil kilka tysiecy polaczen (szlo to moment,
ale dopiero po parunastu minutach po awarii serwera). Po ok
godzinie sprawdzilem serwery gg, czy sa dostepne (bez
udzialu ggrelay, z mojego serwera polaczylem sie poprzez
telnet na port 8074 kilku serwerow, bylo ok, polaczylo sie
momentalnie i oddalo mi 4 bajty) i odcialem dostep tej
osobie. Po ok 30s (domyslny limit) wygladało normalnie,ale
nie chcialo ciagle sie polaczyc... poczekalem jeszcze z 10
minut i nic. Zrobilem restart ggrelaya i wszysto zaczelo
normalnie dzialac. Z tego co mam w logach (aktywnosc
serwerow gg sparwdzam osobnym programem, prosty klient-bot
oparty na libgadu, ktory nie pracuje poprzez ggrelay) serwer
gg byl osiagalny duzo wczesniej, tzn ok 1g 15min przed
restartem ggrelaya. Wyglada to tak, jakby po awarii serwera
gg i zrobienu przez jakiegos klienta wielu polaczen, ggrelay
sie zawieszal (moze jeden watek, do obslugi polaczen z
serwerm gg, niewiem...).
Logged In: YES
user_id=567520
Ok, sorki, ze tak dlugo nic tutaj nie napisalem, ale ciezko u mnie z czasem w
ostatnim czasie :)
Przygotowalem kolejna wersje tesowa, ktora proponuje sprawdzic w
najblizszym czasie.
http://www.mimuw.edu.pl/~accek/ggrelay-test03.tar.gz
Jesli to nie pomoze, to bedzie trzeba chyba porzadniejsza armate wyciagnac -
mam gdzies jeszcze specjalna wersje ggrelaya, ktora niegdys sluzyla mi do
debugowania wszelkich wyciekow pamieci, ale mysle, ze bedzie mozna ja
dostosowac i do tego.
Logged In: YES
user_id=505380
Niestety nic to nie da?o:( wczoraj, 26-Luego-2005, gg pada?o prawie
ca?y dzie?, ggrelay zapcha? si?, omin??em go, ale nie wy??czy??m.
Gdy gg zacz??o ju? dzia?a?, wrzuci?em reg?ke spowrotem. Niestety
nie uda?o si? po??czy? z gg:( Wygl?da to tak jakby po przepchaniu
ggrelaya stawa? si? g?uchy na po??czenia, pomimo znikni?cia ju?
wszystkich po??cze?. Trzeba b?dzie chyba u?y? tej "armaty":)