padajici Apache

Zdenek Mazanec zdenek.mazanec na contactel.cz
Pondělí Duben 28 15:23:34 CEST 2003


> > restartují všichni démoni - je to normální? V crontab jsem žádný záznam 
> > nenašel. V jiných případech to nevadí, ale Apache se z toho ale často 
> logrotate, ale nevím, proč rotujete každý den? To jste si musel
> změnit sám, default je týdně.
Treba ma zatizenejsi stroj a/nebo naopak prakticky nezatizeny, ale s velkym mnozstvim log souboru. Nemam to overene, ale imho se vola restart httpd po kazdem odrotovani toho jednoho logu, ne az po odrotovani vsech. To muze zpusobit velke mnozstvi pozadavku na restart httpd soucasne a ten to nemusi vydrzet. Ja tu mam jeden docela dost zatizeny apache (hodne virtualu) a  obcas se mi to stane taky. Jenze u me je to zpusobeno tim, ze konfigurace je tak velka, ze pozadavek na novy restart prijde driv, nez projde predchozi.
Jsem naklonen resit to tak, ze dam restart apache tesne za rotaci logu s tim, ze logrorate nebude httpd nijak postuchovat. Sice tim prijdu o par zaznamu do logu, ale fungovat to bude asi lip.

> Já jsem restart v podobné situaci vyřešil ve skriptu brutální
> metodou, kdy se napřed udělá service httpd stop, pak se provádí různé akce,
> a nakonec se ještě před service httpd start provede tato smyčka:
> 
> while (1)
>  {
>   `ps h -C httpd -o %c`;
>   if ($?)
>   { print "httpd nebezi.\n"; last; }
>   else
>   { print "httpd bezi... zkousim zabit...\n";
>     system qw(killall httpd); }
>   `ps h -C httpd -o %c`;
>   if ($?)
>   { print "httpd uz nebezi.\n"; last; }
>   else
>   { print "httpd se porad drzi... zkousim vetsi kladivo...\n";
>     system qw(killall -9 httpd); last; }
>  }
> 
> To by mělo zabrat ;-).


Jo, zabere to, ale je to opravdu hoodne brutalni a v komercnim vyuziti malo vhodne.

-- 
Zdenek Mazanec, Contactel s.r.o.
http://mandrake.redbox.cz
Silver MandrakeClub Member


Další informace o konferenci Linux