Apache ve stavu lockf

Miroslav Lachman 000.fbsd at quip.cz
Sat Mar 17 19:50:29 CET 2007


Dan Lukes wrote:
> Miroslav Lachman wrote:
> 
>>Moc se nevyznam ve stavech, ve kterych se mohou procesy nachazet, ale 
>>mel jsem ted jeden zavazny problem na serveru, kde se nekdo snazil 
>>patrne cilene pretezovat Apache. Nemel jsem moc casu na zkoumani "jak a 
>>co", zkratka jsem dotycneho zakazal na firewallu, ale chovalo se to tak, 
> 
> 
>>Dokazal by mi nekdo rict, za jakych podminek se child apache nachazi v 
>>tomto stavu a co to vlastne znamena?
> 
> 
> 	Zjistit neco vice o tom, co delaly "lockfnute" procesy a jaky zrovna 
> vyrizovaly pozadavek - od toho je
> http://.../server-status
> handler. Sazmorejme, jen pokud je povoleny v konfiguraci.

server-status samozrejme pouzivam, v nem jsem zjistoval, ze ty pozadavky 
jsou z jedne IP, jdou na jeden virtual, na ruzne stranky a jsou ve stavu 
Writing, ale pritom se "nic" neposilalo, nebo jedine hooodne pomalu.

Vsechny oddily vcetne /var jsou lokalni na gmirroru, pohledem na systat 
-vm jsem zjistoval, jestli neni disk pretizeny, ale nebyl.

Proste nic nevypadalo pretizene, ale Apache mel "plny pocet" childu a 
temer vsechny v tom stavu lockf dokud ho automaticky script nerestartuje.

> 	Jinak se proces ve stavu "lockf" nachazi tehdy, pokud zada umisteni 
> zamku na cas nejakeho souboru - a toto misto je jiz zamcene jinym 
> procesem. Konkretne jde o volani funkce fcntl(,F_SETLK[W],...)
> 
> 	Da se z jadra vymamit kdo na koho ceka, ale je treba ho prelozit s 
> LOCKF_DEBUG
> 
> 	Co se tyce toho, kdy Apache zamyka - tam ma asi pravdu Pav - ale jen co 
> se tyce cisteho Apache. Pokud vim, jsou zamykaci funkce soucasti APR a 
> jako takove jsou dostupne Apachovskym modulum - zamknuti tedy mohl 
> zpusobit nejaky dalsi modul, ktery neni soucasti ciste instalace Apache ...
> 
> 	Jako mozny priklad (ale nezkoumal jsem, jestli to tak skutecne muze 
> byt) by mohlo byt nejaky mene vhodne napsany PHP script. To uz by ale 
> napovedelo studium shora zminene server-status stranky.

PHP tam je, ale je to pomerne dlouho existujici web se slusnou 
navstevnosti, takze kdyby to bylo jen vinou spatneho scriptu, na problem 
by se narazilo jiz drive.

Miroslav Lachman



More information about the Users-l mailing list