tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
846
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Apr 2006
    Ort
    Freiburg
    Beiträge
    290
    Blog-Einträge
    2
    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:

    Code :
    1
    
    ab -n 10000 -c 500 http://gazz8.localnet/index.php

    folgend der Inhalt der PHP-Datei:

    PHP-Code:
    <?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 :
    1
    
    ab -n 15000 -c 700 [url]http://gazz8.localnet/index.php[/url]

    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 :
    1
    
    ab -n 45000 -c 800 [url]http://gazz8.localnet/index.html[/url]

    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
    Geändert von MArc (17.01.10 um 22:57 Uhr)
     
    Kryn.cms - einfach anders.

    "When you're talking about webserver, as it is, with no rules, well then, baby you'd better block every tiny hole of your server!" - MArc (inspired by Bruce L.)

  2. #2
    Registriert seit
    Apr 2006
    Ort
    Freiburg
    Beiträge
    290
    Blog-Einträge
    2
    Hallo Nachwelt,

    habe das Problem lokalisiert: eAccelerator haengt bei hoher Last.
    Bug ist bereits bekannt -> http://www.eaccelerator.net/ticket/368

    Loesung ist, den APC zu installieren. Den Server kann ich nun
    wieder mit ~ 2,6mil php-zugriffen befeuern, ohne dass die Last ins
    unendliche geht.

    Gruesse,
    MArc
     
    Kryn.cms - einfach anders.

    "When you're talking about webserver, as it is, with no rules, well then, baby you'd better block every tiny hole of your server!" - MArc (inspired by Bruce L.)

Ähnliche Themen

  1. Hohe CPU-Auslastung erreichen
    Von toastie im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 16.02.10, 18:52
  2. ftdisk verursacht hohe Auslastung
    Von MasterDS im Forum Microsoft Windows
    Antworten: 12
    Letzter Beitrag: 05.09.08, 16:01
  3. Hohe CPU AUslastung bei Notebook
    Von danube im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 29.12.04, 02:11
  4. /--Extrem hohe CPU Auslastung--\
    Von alexbystrow im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 17.11.04, 22:42