PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache response time spiked in Intervallen



xalibad
08.08.15, 17:15
Hallo Leute,

ich habe einen neuen Webserver aufgesetzt und beobachte, dass Apache regelmäßig länger braucht, um eine Seite auszuliefern.

Der Server ist ein Hetzner dedicated root mit Debian und die Seite eine kleine drupal index.php, ansonsten läuft bisher nichts, es sind also alle Ressourcen frei. Er hat 2 HDDs auf RAID Lvl 1.
Der Monitorserver steht in Düsseldorf, an dessen Verbindung kann es auch nicht liegen. Einen graphischen Report habe ich angehängt.

Hat jemand eine Idee, was diese hohe Responsetime auslösen könnte? Sie ist meist ~5s, allerdings habe ich auch schon über 8s beobachtet.
Meist tritt die Verzögerung alle 4h auf, mit einer Kleineren eine Stunde nach sich ziehend, ich habe aber auch schon einen Intervall von 3h gesehen.

Grüße,
Xalibad

BetterWorld
08.08.15, 17:38
Was monitored denn da?
Und wie?
Und der Indianer antwortet auf was?
Antwortet überhaupt der Indianer?

Was sagen die logs?

xalibad
08.08.15, 17:55
websitepulse (http://www.websitepulse.com) monitored den Abruf der Seite auf Port 80 alle 60min. (Soweit ist der Service frei)
Die Apache logs zeigen die Abrufe auch, wie auch alle anderen Zugriffe, die ganz normal ausgeliefert werden:

78.138.97.79 - - [08/Aug/2015:18:30:53 +0200] "GET /drupal/ HTTP/1.1" 200 7681 "-" "websitepulse checker/3.0 (compatible; MSIE 5.5; Netscape 4.75; Linux)" 32116

Der letzte Wert ist die response time in microseconds, also sind es knapp 32ms.

Zu den Spikes logt Apache auch die hohe response time:

78.138.97.79 - - [08/Aug/2015:16:31:23 +0200] "GET /drupal/ HTTP/1.1" 200 7681 "-" "websitepulse checker/3.0 (compatible; MSIE 5.5; Netscape 4.75; Linux)" 5519324

BetterWorld
08.08.15, 18:32
Was sagen die logs?Damit waren schon alle Beteiligten gemeint. Wo ist PHP-Log? Gibt es das überhaupt? Wo ist mySQL Log (oder was auch immer für eine DB da am Start ist)?
Ggf. fehlende Logs einschalten.

Setze das LogFormat für Apache auf extended und gib das Feld time-taken mit an.

Mache ein paar Zugriffe von verschiedenen Maschinen.
Poste dann die Logs.
Alle.

TheDarkRose
08.08.15, 18:46
Und die Konfiguration des Apachen und welches mpm verwendet wird

marce
08.08.15, 19:08
regelmäßige Unregelmäßigkeiten deuten auf entweder systeminterne Cronjobs oder entsprechend getaktete externe Ereignisse hin.

Herausfinden, was genau vorliegt geht meist am einfachsten über entsprechendes Monitoring via z.B. munin + Konsorten - und natürlich die "normale" Logfileanalyse.

xalibad
08.08.15, 19:33
@BetterWorld
Ich bin dir ja dankbar, dass du dich mit meinem Problem beschäftigst, aber dein Ton ist unangenehm.

Damit waren schon alle Beteiligten gemeint. Wo ist PHP-Log? Gibt es das überhaupt? Wo ist mySQL Log
Ich hätte erwähnen sollen, dass weder php noch mysql log Auffälligkeiten irgendeiner Art zeigen. Wie gesagt läuft nichts sonst auf dem Server und die spärlichen Einträge in den Logs haben weder sachlich noch zeitlich mit der verzögerten Auslieferung zu tun.

Der letzte Wert ist die response time in microseconds, also sind es knapp 32ms.
Damit bezog ich mich auf time-taken; %D logt in Mikrosekunden.

Die Verzögerung betrifft ausschließlich die Auslieferung an den Monitor Server. Ich habe Zugriffe von verschiedenen Orten auch zu den Zeiten der regelmäßigen Requests des Monitorservers gemacht und nie Verzögerungen über 60ms gesehen.
Ich habe schon daran gedacht, dass vielleicht der Monitor Server zu dem stündlichen Abfragezeitpunkt ausgelastet ist und den Abfragezeitpunkt um eine viertel Stunde verschoben, trotzdem spiked die response time alle paar Stunden.
Nun könnte ich es einfahc als Problem des Monitorservers abtun, aber andere Server werden ohne solche spikes gemonitored.
Es ist mir ein Rätsel.

@TheDarkRose
mpm ist prefork.

@marce
Die Unregelmässigkeit tritt merkwürdigerweise nicht zu festen Minutenzeitpunkten auf; es gibt keine überschneidenden crons und monitorserverseitig können entsprechend getaktete Ereignisse mit gleiche Argumentation wohl auch ausgeschlossen werden.
Munin werde ich mal ausprobieren.

fork
08.08.15, 20:28
Die Auflösung des Bildes von Deinem Monitoring find ich auch etwas grob. Es scheint zwar sehr aufschlussreich, doch bei so einer Auflösung alles andere als eine gesicherte Erkenntnis. Also auch nochmal: Monitoring! :-)

Am besten ein Monitoring, dass die üblichen Standardwerte grafisch aufzeichnet(I/O, CPU, Load, RAM). Munin hatte ich zwar noch nicht im Einsatz, aber ich glaube, das ist hier das passende Tool für Dich.