Webserver alle 5 Minuten neustarten?

Apache, Lighttpd, nginx, Cherokee
jemand
Posts: 14
Joined: 2007-12-12 11:48

Webserver alle 5 Minuten neustarten?

Post by jemand » 2007-12-12 11:53

Hallo!
Ich hoffe, mir kann hier geholfen werden, da ich seit über einer Woche rumprobiere und nicht mehr weiter weiss.

Ich habe mit einem meiner Server ziemliche Probleme, die einfach nicht zu
beseitigen sind. Der Server kriegt alle X Tage urplötzlich einen Load von über 70 und nix geht mehr. Und wenn ich mich dann per ssh einlogge und den apache neu starte, geht wieder alles. Komisch ist auch, dass mein apache ganz ruhig läuft und dann immer mal wieder einen ziemlichen Load verursacht, der aber nicht immer schlimm ist. Hier mal eine Momentaufnahme aus top:

Code: Select all

PIDUSER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
32053 wwwrun    17   0  134m  55m 4072 S 23.0  2.8   0:01.74 httpd2-prefork
32036 wwwrun    15   0  134m  55m 3360 S  8.3  2.8   0:01.41 httpd2-prefork

Eine Sekunde später ist der Load dann %CPU dann wieder bei 0.

6 andere Webserver mit deutlich höheren Besucherzahlen laufen absolut problemlos.

Damit ich wieder unbeschwert aus dem Haus gehen kann und nicht jederzeit damit rechnen muss, dass ich den Apache neu starten muss, habe ich mir jetzt überlegt, dass ich einfach in die crontab eintrage, dass der apache alle 5 Minuten einen graceful restart macht. Das beeinträchtigt ja derzeitige Besucher nicht und bedeutet, dass im Extremfall der Server 5 Minuten nicht erreichbar ist, bis er neu gestartet wird.

Dass das keine super Lösung ist, weiss ich. Aber mir ist mitlerweile fast jedes Mittel recht, was mir das Problem beseitigt. Nun stellt sich mir nur die Frage, ob mein Server diese 5-Minuten-Restart-Aktionen mitmacht oder ob ich mir damit langsam den Speicher zuschaufel oder sowas.

Wäre froh, wenn mir da jemand bescheid gibt.

Gruß,
Jemand

spyder
Posts: 8
Joined: 2007-12-09 11:32

Re: Webserver alle 5 Minuten neustarten?

Post by spyder » 2007-12-12 12:26

Sinnvoller wäre, die Ursache zu ermitteln... was sagen denn die Logs?

jemand
Posts: 14
Joined: 2007-12-12 11:48

Re: Webserver alle 5 Minuten neustarten?

Post by jemand » 2007-12-12 12:27

Spyder wrote:Sinnvoller wäre, die Ursache zu ermitteln... was sagen denn die Logs?
An der Ursache habe ich bisher 5 ganze Tage gesessen und nix gefunden. Alle Logs sind unauffällig und sagen gar nix aus. Ich habe Error-Reporting bis zum höchsten eingestellt und nix deutet auf irgendwas auffälliges hin. Von daher bin ich ja auch die Idee mit dieser letzten Rettung gekommen..

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Webserver alle 5 Minuten neustarten?

Post by flo » 2007-12-12 12:32

Es ist komisch, daß ein "graceful" da hilt - normalerweise, wenn ein Apache hängt hilft nur die Kombi stop+start ... kann es sein, daß einfach nur viele Besucher sich an irgendeiner Seite probieren!?

jemand
Posts: 14
Joined: 2007-12-12 11:48

Re: Webserver alle 5 Minuten neustarten?

Post by jemand » 2007-12-12 12:37

flo wrote:Es ist komisch, daß ein "graceful" da hilt - normalerweise, wenn ein Apache hängt hilft nur die Kombi stop+start ... kann es sein, daß einfach nur viele Besucher sich an irgendeiner Seite probieren!?
Ich hoffe(!), dass ein graceful ausreicht - weiß es aber auch erst dann, wenn das Problem das nächste Mal auftritt. Ich kann ja nicht alle 5 Minuen ein apache2ctl restart machen und dann die User von der Seite kicken :)

Der Server hat nicht wirklich viele Besucher. Ich schätze, dass am Tag ca. 2000 Besucher auf alle Präsenzen zugreifen. Einen Hack-Angriff (DDos oder syn-flood) kann ich so gut wie ausschließen. Ich habe ein bisschen das Gefühl, dass ein neues Aufsetzen des Systems die einzige Möglichkeit ist. Weil dort aber ein System drauf läuft, was durchgängig erreichbar sein muss (Bilderhosting) ist selbst eine kurze Unterbrechung schon zu viel des Guten.

duergner
RSAC
Posts: 976
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Webserver alle 5 Minuten neustarten?

Post by duergner » 2007-12-12 12:44

Kann es evtl sein, dass da einfach irgendwo ein Problem bei einer Seite liegt? Sprich dass da irgendwo was in nen Endlos Loop laeuft oder aehnliches.

jemand
Posts: 14
Joined: 2007-12-12 11:48

Re: Webserver alle 5 Minuten neustarten?

Post by jemand » 2007-12-12 12:47

duergner wrote:Kann es evtl sein, dass da einfach irgendwo ein Problem bei einer Seite liegt? Sprich dass da irgendwo was in nen Endlos Loop laeuft oder aehnliches.
Das kann ich eigentlich ausschließen, da ich wirklich alles darauf gecheckt habe. Die einzige Fremdsoftware (also Webseite, die nicht von mir entwickelt wurde und auf anderen Systemen von mir läuft) ist WordPress. Aber ich gehe nicht davon aus, dass da eine Endlosschleife drin ist.

Aber in der Tat würde ich auch am ehesten darauf schließen, dass ein PHP-Skript zu viel Speicher frisst und/oder sich aufhängt und den Server runterzieht.

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Webserver alle 5 Minuten neustarten?

Post by flo » 2007-12-12 13:00

Kann es sein, daß da jemand exploits testet? Das dürfte dann IMHO ja auch nicht in den errors auftauchen.

Probier mal beim nächsten crash den "graceful" aus - wenn das nicht klappt, ist das was größeres.

Beobachte die Client-Verbindungen mal - mod_status testweise sollte da helfen oder auch nur ein bescheidener Netstat.

jemand
Posts: 14
Joined: 2007-12-12 11:48

Re: Webserver alle 5 Minuten neustarten?

Post by jemand » 2007-12-12 13:05

flo wrote:Beobachte die Client-Verbindungen mal - mod_status testweise sollte da helfen oder auch nur ein bescheidener Netstat.


Aufgrund der plötzlichen Ausfälle, habe ich Server-Status ständig offen und auch da gibts kaum was merkwürdiges :(

jemand
Posts: 14
Joined: 2007-12-12 11:48

Re: Webserver alle 5 Minuten neustarten?

Post by jemand » 2007-12-12 13:06

Achja: Danke für die vielen schnellen Antworten! Bin echt sehr positiv überrascht, dass einem hier so nett und freundlich geholfen wird!

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Webserver alle 5 Minuten neustarten?

Post by flo » 2007-12-12 13:15

<ot>
Das ist die Sache mit dem Wald - die Antwort hängt auch immer sehr von der Frage und deren Stellung ab. :-)
</ot>

duergner
RSAC
Posts: 976
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Webserver alle 5 Minuten neustarten?

Post by duergner » 2007-12-12 14:04

Das hast du mal wieder was sehr wahres gesagt Flo ... nur scheinen das viele nicht kapieren wollen. ;-)

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver alle 5 Minuten neustarten?

Post by floogy » 2007-12-12 17:25

Benutzt Du einen vserver? Bei mir ereigneten sich nämlich auch unerklärliche und merkwürdige Dinge, bis ich /proc/user_beancounters kennenlernte... :oops:

Allerdings glaube ich, dass in dem Falle doch etwas auffälliges im log erscheint, was aber von den Resourcen abhängen könnte, die limitiert sind.

APC macht des öfteren Probleme, ich denke aber, dass sich das anders äußert (z.B. segfault (11) in der Cleanupphase der Childprozesse)

jemand
Posts: 14
Joined: 2007-12-12 11:48

Re: Webserver alle 5 Minuten neustarten?

Post by jemand » 2007-12-17 14:31

Ich gebe mal einen Zwischenstatus: Seit dem ich den Server alle 10 Minuten mit graceful neu starte, gibt es keine Probleme mehr und alles läuft rund. Drückt mir die Daumen, dass das Problem damit endgültig behoben ist.

jemand
Posts: 14
Joined: 2007-12-12 11:48

Re: Webserver alle 5 Minuten neustarten?

Post by jemand » 2007-12-17 14:34

floogy wrote:Benutzt Du einen vserver? Bei mir ereigneten sich nämlich auch unerklärliche und merkwürdige Dinge, bis ich /proc/user_beancounters kennenlernte... :oops:

Allerdings glaube ich, dass in dem Falle doch etwas auffälliges im log erscheint, was aber von den Resourcen abhängen könnte, die limitiert sind.

APC macht des öfteren Probleme, ich denke aber, dass sich das anders äußert (z.B. segfault (11) in der Cleanupphase der Childprozesse)


Ich bin über jeden Tipp oder Hinweis dankbar, wo ich mal nachschauen kann. /proc/user_beancounters kenne ich (noch) nicht. Die Datei gibts bei mir auf meinem Rootserver (kein vServer) auch nicht. Und nach APC schaue ich mal - aber wie gesagt - segfaults gibts keine.