Hallo liebes Forum,
ich komme gerade nicht mehr weiter und vielleicht
hat jemand eine Idee bzgl. folgendem Problem.
Ich habe diverse Server als Webkisten im einsatz:
Debian, Apache2.2.9, PHP5, Mysql 5
Die eine Kiste hat probleme mit einer Hand voll Requests:
i7 8x3.33ghz, 12gb ram
Von einem anderen Server im gleichen Netz feuer ich mit dem Apache-Benchmark auf eine php-Datei:
folgend der Inhalt der PHP-Datei:
Bei obigen Request hat der Server 50% auslastung, änder ich die Werte auf folgendes:
schießt die CPU auslastung auf 100%, der Benchmark fährt in Timeout und die Load geht ins unendliche. Die Ram-Auslastung schwangt lediglich zwischen ~500mb (ruhezustand) und 1GB.
Apache kommt nicht mehr zur ruhe und es bleibt Stundenlang auf 100% Auslastung. Das komische (daher verdacht auf endless loop):
Nachdem der Server 100% auslastung hat, beenden die Apache-Prozesse nicht mehr - es ist also nicht so, dass er weiter arbeitet
und es einfach dauert, nein. Eine hand voll Apache-Prozesse hängen mit 8-10% auslastung ab - und das ohne zu sterben stundenlang.
Apache nimmt auch keine Request mehr entgegen. Alle Timeout - Server unbrauchbar.
Nur der Restart von Apache hilft.
Feuer ich die Requests auf eine statische HTML-Datei, kann ich von drei Servern aus gleichzeitig folgenden Benchmark auf den gazz8.localnet-Server feuern und ich bekomme den Server nichtmal annäherend an 40% Auslastung.
Apache läuft im prefork. PHP mit mod_php.
Apache.conf: http://pastebin.com/m58d74a36
PHP.ini: http://pastebin.com/m128eec17
Habe noch ein Screenshot von den Prozessen gemacht, damit man die Situation besser erkennt.
http://img15.imageshack.us/img15/2073/srvhtop.jpg
Für jeden Hinweis bin ich sehr dankbar.
Grüße,
MArc
ich komme gerade nicht mehr weiter und vielleicht
hat jemand eine Idee bzgl. folgendem Problem.
Ich habe diverse Server als Webkisten im einsatz:
Debian, Apache2.2.9, PHP5, Mysql 5
Die eine Kiste hat probleme mit einer Hand voll Requests:
i7 8x3.33ghz, 12gb ram
Von einem anderen Server im gleichen Netz feuer ich mit dem Apache-Benchmark auf eine php-Datei:
Code:
ab -n 10000 -c 500 http://gazz8.localnet/index.php
folgend der Inhalt der PHP-Datei:
PHP:
<?php
for( $i=0; $i<500; $i++){
if( is_file( '.' ) )
$j++;
}
?>
Bei obigen Request hat der Server 50% auslastung, änder ich die Werte auf folgendes:
Code:
ab -n 15000 -c 700 http://gazz8.localnet/index.php
schießt die CPU auslastung auf 100%, der Benchmark fährt in Timeout und die Load geht ins unendliche. Die Ram-Auslastung schwangt lediglich zwischen ~500mb (ruhezustand) und 1GB.
Apache kommt nicht mehr zur ruhe und es bleibt Stundenlang auf 100% Auslastung. Das komische (daher verdacht auf endless loop):
Nachdem der Server 100% auslastung hat, beenden die Apache-Prozesse nicht mehr - es ist also nicht so, dass er weiter arbeitet
und es einfach dauert, nein. Eine hand voll Apache-Prozesse hängen mit 8-10% auslastung ab - und das ohne zu sterben stundenlang.
Apache nimmt auch keine Request mehr entgegen. Alle Timeout - Server unbrauchbar.
Nur der Restart von Apache hilft.
Feuer ich die Requests auf eine statische HTML-Datei, kann ich von drei Servern aus gleichzeitig folgenden Benchmark auf den gazz8.localnet-Server feuern und ich bekomme den Server nichtmal annäherend an 40% Auslastung.
Code:
ab -n 45000 -c 800 http://gazz8.localnet/index.html
Apache läuft im prefork. PHP mit mod_php.
Apache.conf: http://pastebin.com/m58d74a36
PHP.ini: http://pastebin.com/m128eec17
Habe noch ein Screenshot von den Prozessen gemacht, damit man die Situation besser erkennt.
http://img15.imageshack.us/img15/2073/srvhtop.jpg
Für jeden Hinweis bin ich sehr dankbar.
Grüße,
MArc
Zuletzt bearbeitet: