apache unerreichbar

  • pd-admin 4
    SE 2.011


    Hallo


    Habe auf einem gut besuchten Server folgendes Problem:


    Apache ist plötzlich unerreichbar, und nimmt keine Anfragen mehr an. Im error log wird dazu nichts vermerkt.


    apache restart löst das Problem nicht. Nur ein reboot beseitigt das Problem


    Woran könnte das liegen?


    Start Stop habe ich mit
    svc -d /service/apache
    svc -u /service/apache
    durchgeführt


    oder sollte man
    /usr/local/pd-admin2/bin/apachectl graceful


    verwenden?

    • Offizieller Beitrag

    Das wird Dir jetzt nicht viel helfen, aber es fällt mir schwer zu glauben, dass der error_log dazu nichts zu sagen hat.


    Wie sieht es denn mit der Prozessliste aus, wenn der Status der "Unerreichbarkeit" gegeben ist? Sind noch Apache Prozesse am Laufen oder sind alle weg? Gibt es Zombie Prozesse?

  • natürlich gab es error Einträge, jedoch kam es oft zu dem Problem und zum Zeitpunkt des Fehlers konnte man nur sehen, dass Apache restartet wurde...
    Der Grund war, dass alle Werte ServerLimit... viel zu niedrig waren für die große Belastung (~1200 Clients auf php files..)
    gestern hatten wir 17 581 340 Hits aber alle dynamisch (php)

  • Leider tritt der Fehler schon wieder auf :(


    einziger Logeintrag:
    [Wed Jun 18 18:30:25 2008] [notice] Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.7m PHP/5.2.6 configured -- resuming normal operations


    Kann der Fehler von


    Code
    */30 *   * * * nice -n 19 /opt/pdadmin/bin/httpd_log.pl


    kommen? Vorher hatte ich ~1200 Prozesse, nach httpd_log.pl ist ca 30sek keine connection möglich und es laufen nur mehr ~300 Prozesse.


    Was erledigt httpd_log.pl genau? Logs splitten..? apache restart

  • Altes Logfile sichern und Apache neustarten
    Verzeichnisse fuer Logfiles einlesen
    Verzeichnisse ggf. anlegen
    Logfile nach Rechnernamen splitten
    Traffic pro Host zaehlen
    Traffic in Datenbankspeichern


    30 Sekunden ist für die Anzahl an Prozessen/Besucher und den damit anfallenden Daten glaube ich normal.

  • Ich würde denken das da nichts dagegen spricht. Ich würde es aber vor 3 Uhr machen da dann die ganzen anderen Jobs, auch die für das Logfile löschen etc. laufen.

  • Zitat

    Original von noxray
    Vorher hatte ich ~1200 Prozesse, nach httpd_log.pl ist ca 30sek keine connection möglich und es laufen nur mehr ~300 Prozesse.


    Sie sollten StartServers in der Apache-Konfiguration erhöhen. Wenn Sie durchschnittlich 1200 Prozesse benötigen, ist es nicht sinnvoll, anfangs nur 300 zu starten.


    Viele Grüße,
    Daniel Bradler

  • nach Erhöhung der StartServers UND Veränderung der Cronjobs (httpd_vhosts und httpd_log) schafft der Server die Hohe Last problemlos.


    Der entscheidende Faktor war/ist die genannten Cronjobs NUR in den Nachtstunden auszuführen!