Gibt es ein Tool, das die Geschwindigkeit von Webserver-Antworten überwacht oder protokolliert? [Geschlossen]

7

Ich habe eine GNU / Linux-Box (Linode VPS mit Debian) mit PHP, Apache, MySQL und Varnish (und App / Site, die diese verwenden). Gibt es ein Tool, mit dem Ladezeiten von Webserver-Antworten gespeichert oder überwacht werden können?

jcubic
quelle
Wenn Sie nicht nur messen möchten, wie schnell die Anforderungen bearbeitet werden, sondern auch die tatsächliche Geschwindigkeit beim Laden von Seiten (einschließlich Netzwerklatenz usw.), können Sie mit Pingdom die Ladezeiten von Seiten überwachen.

Antworten:

14

Lesen Sie die LogFormat- Direktive von Apache . Es ermöglicht die Protokollierung der Zeit, die für die Bearbeitung der Anforderung benötigt wird ( %Dund %T). Dies kann zur Überwachung der Antwortzeit Ihres Servers verwendet werden. Hier erfahren Sie beispielsweise, ob Ihr Server nach einer Änderung langsamer reagiert.

Mir ist jedoch kein Tool bekannt, das diese Informationen zum Erstellen eines Berichts verwendet.

Oliver
quelle
1
Der Protokolldämon von Varnish, varnishncsa, kann auch die Anforderungszeit protokollieren sowie angeben, ob ein Cache-Treffer oder ein Cache-Fehler aufgetreten ist. Ich verwende Folgendes in meiner / etc / syconfig / varnishncsa: DAEMON_OPTS = "$ DAEMON_OPTS -F \"% h \\\ "% {X-Forwarded-For} i \\\"% t \\\ "% r \ \\ "% s% b \\\"% {Referer} i \\\ "\\\"% {User-Agent} i \\\ "% {Lack: time_firstbyte} x% {Lack: hitmiss} x \ ""
Adam Franco
5

Sie möchten etwas klarer darüber sein, was Sie unter "Zeitpunkt einer Antwort" verstehen.

Wenn Sie an Apaches Timings interessiert sind, können Sie die LogFormatDirektive verwenden, um "die Zeit, die benötigt wird, um die Anfrage zu bearbeiten" in Sekunden ( %T) oder Mikrosekunden ( %D) abzurufen .

Docs sind hier .

Nickgrim
quelle
Zeit von der HTTP-Anfrage zur HTTP-Antwort (die Zeit, in der PHP für eine Anfrage ausgeführt wird und MySQL-Abfragen ausführt, und ich habe auch Varnish, so dass einige von ihnen zwischengespeichert werden und ich die Varnish-Antwortzeiten sehen möchte).
jcubic
5

Nagios oder Icinga können dies ebenso wie eine Reihe anderer Tools (Munin fällt mir ein).

Bart De Vos
quelle
Nein, Überwachungssoftware verfügt über keine sofort einsatzbereiten Methoden zur Überwachung der Ladezeit.
DukeLion
@DukeLion, hast du jemals mit Nagios gearbeitet? check_url, check_iis, check_bend, ... Was könnten Sie mehr brauchen?
Bart De Vos
2
Sicher habe ich. Eventuelle Überprüfungen liefern jedoch kein solides Bild der Benutzererfahrung.
DukeLion
Mit Nagios / Icinga können Sie ernsthafte Rauchtests durchführen. Ich habe es auf zahlreichen Clients implementiert, um die Antwortzeiten zu verfolgen, wie eine Site reagiert, wie lange Benutzer warten müssen, um eine bestimmte Aufgabe zu erledigen usw. Es ist so nah wie möglich, ohne jemanden zum Testen einzustellen es für dich.
Bart De Vos
Nicht so. Sie können JEDE Anforderungszeit oder nur genaue Durchschnittswerte erfassen - Sie erhalten ein besseres Bild Ihrer Serverlast und gute Daten für die Feinabstimmung und Optimierung des Codes.
DukeLion
3

Wir verwenden zabbix in unserem Shop. Sie können es so einrichten, dass es eine bestimmte Seite überwacht. Dadurch erhalten Sie Ping-Zeit, Download-Geschwindigkeit und Antwortzeit. Es ist Open Source und obwohl es komplex ist, können Sie ziemlich komplexe Dinge erledigen, einschließlich SMS-Benachrichtigungen. bei der Erstellung von erstellten Diagrammen und Sicherheitsüberprüfungen im Tripwire-Stil (dh Sie werden benachrichtigt, wenn sich die Prüfsumme von / etc / passwd ändert)

Rqomey
quelle
2

Sie können auch Kakteen verwenden. Es gibt viele Vorlagen und wenn ich mich erinnere, gibt es mehrere, um die Ladegeschwindigkeit einer URL zu testen / überwachen / grafisch darzustellen.

Grüße!

Adrian Perez
quelle
1

Sie können http://newrelic.com/ verwenden , um die Verarbeitungszeit mit Lack zu überwachen

Sie werden dies brauchen:

/etc/varnish/newrelic.h:

#include <sys/time.h>

struct timeval detail_time;
gettimeofday(&detail_time,NULL);
char start[20]; 
sprintf(start, "t=%lu%06lu", detail_time.tv_sec, detail_time.tv_usec);
VRT_SetHdr(sp, HDR_REQ, "\020X-Request-Start:", start, vrt_magic_string_end);

vcl_recv:

C{
#include </etc/varnish/newrelic.h>
}C
DukeLion
quelle
1

Es kommt wirklich darauf an, was Sie erreichen wollen. Die interne Überwachung kann Ihnen eine ungefähre Vorstellung von der Gesamtleistung Ihrer Maschine und Software geben. Wenn Sie nach Optionen für die Remote-Serverüberwachung fragen, haben Sie viele Optionen.

Die externe Überwachung hat wirklich ihre Vorteile und Sie können die Antwortzeit pro Stadt erhalten (abhängig von dem Dienst, den Sie verwenden). Es gibt eine große Auswahl, sowohl kostenpflichtig als auch kostenlos. Alle geben Ihnen eine ziemlich gute Vorstellung von den Antwortzeiten. Für eine zusätzliche Auflösung ist es fast sicher, dass Sie sich für ein kostenpflichtiges Konto entscheiden müssen, aber Sie können immer mit den kostenlosen Optionen beginnen.

Ich persönlich benutze Websitepulse, habe aber auch andere Dienste wie Pingdom und Site24x7 ausprobiert. Was ich an WSP mag, ist die Anzahl der Remote-Standorte, an denen ich testen kann. Eine weitere coole Sache ist die etwas eingeschränkte, aber kostenlose Serverüberwachung für den Lebensdienst. Es ist der dritte unten .

Wenn Sie möchten, kann ich einen Test für Sie durchführen und Sie über die Leistung Ihrer Website an einigen Standorten informieren, für die ich derzeit bezahle.

Svetoslav Stefanov
quelle
0

Dieses Tool protokolliert und überwacht Ihren Webserver

Nagios oder Icinga

Kishore Jangid
quelle
0

Es gibt auch Mod Firstbyte, das die Zeit misst, die Ihr Server zum Generieren der Seite benötigt hat (nicht wie lange das Generieren und Herunterladen in den Browser gedauert hat , was% D und% T tun).

Nudeln
quelle
0

Einige andere Dienste, die einen Besuch wert sind, sind GTmetrix und Stella . Beide überwachen Seiten, die Grafikleistung und verfolgen historische Metriken. Das Schöne an diesen Diensten ist, dass sie nicht nur die Ladezeiten von Seiten verfolgen, sondern auch die Ladezeit aller anderen Elemente auf der Seite (Bilder, CSS, JS usw.).

Ich kam tatsächlich zu Serverfault, um zu fragen, ob jemand ein Open-Source-Äquivalent zum Verfolgen der Ladezeiten von Seiten und zugehörigen Assets kenne. dann bin ich auf diesen Thread gestoßen. Wenn jemand etwas Ähnliches weiß, das Open Source ist, schreibe bitte einen Kommentar zu dieser Antwort. Vielen Dank!

Matt V.
quelle
0

Smokeping könnte das tun, wonach Sie suchen - es misst offensichtlich auch die Latenz zwischen Ihrer Smokeping-Box und dem Webserver und ist möglicherweise nicht so gut, wenn Sie sich die Antwortzeiten Ihrer komplexen CGIS ansehen (Apache-Protokolle sind dafür besser geeignet). , aber es ist einfach und macht lustige Diagramme.

Tom Newton
quelle