Ich suche nach einem Tool zum Testen einer Website über eine Linux-Befehlszeile.
Aus der Ausgabe muss ich die http-Antwort (Statuscodes) kennen, aber auch die Zeit messen, die zum Herunterladen der verschiedenen Elemente der Site benötigt wird.
Danke im Voraus.
linux
command-line-interface
monitoring
Embreau
quelle
quelle
Antworten:
Sie können
wget
mit der-p
Option versuchen :Hier erfahren Sie, wie lange es dauert, jedes Element und die Rückgabecodes für jede Anforderung herunterzuladen.
quelle
wget -p URL -O /dev/null
Bitte beachten Sie den Apache Benchmark:
Apache Benchmark
Dies sollte Ihnen einen Überblick über die Leistung Ihrer Seite geben.
quelle
Möglicherweise möchten Sie die folgenden Optionen anzeigen
curl
:--write-out
- Zeigt eine von mehreren zeitbezogenen Variablen an--trace-time
- Fügt jeder Ablaufverfolgung oder Wortzeile einen Zeitstempel hinzu--verbose
--include
- (HTTP) Bezieht den HTTP-Header in die Ausgabe ein.--trace-ascii <file>
- Ermöglicht einen vollständigen Trace-Dump aller eingehenden und ausgehenden Daten, einschließlich beschreibender InformationenUnd die folgende Option von
wget
:--timestamping
- Aktivieren Sie die Zeitstempelungquelle
curl --trace-ascii <file> --trace-time -o /dev/null <url>
war genau das, was ich brauchte. Vielen Dank!Selen und Curl sind gute Optionen, abhängig von Ihrem Ziel. Auch ein Dienstprogramm, das mir mittlerweile ziemlich gut gefällt, ist
twill
. Weitere Informationen finden Sie unter http://twill.idyll.org/ .Es ist schön, da es eine eigene kleine Fachsprache zum Ausfüllen von Formularen, zum Überprüfen von Links und zum Überprüfen von Antwortcodes gibt. Da es sich nur um Python-Code handelt, können Sie die Bibliotheken problemlos importieren und Ihre Tests selbst automatisieren, wenn Sie etwas anderes tun möchten.
quelle
Verwenden Sie curl, um die Kopfzeile für die Seite abzurufen, und legen Sie den Zeitpunkt für den Vorgang fest:
wickeln Sie das in einer Weile Schleife und Sie sind gut zu gehen. Auf die gleiche Weise können Sie nach allen Elementen suchen, wenn Sie die URL kennen.
quelle
Versuchen Sie es mit einem Befehlszeilenprogramm namens "Belagerung", wie hier beschrieben
quelle
Welches Tool Sie auswählen, hängt davon ab, was Sie messen möchten und wie komplex die Site ist.
Wenn das Verhalten der Website von Cookies abhängt (z. B. muss sich der Benutzer anmelden), reicht ab / curl / wget (beschrieben in anderen Antworten) nicht aus. Eine Lösung ist die Verwendung von http :: recorder / www :: mechanize .
Alle Daten, nach denen Sie fragen, befinden sich in Ihren Webserver-Protokollen - und ein einfaches awk-Skript gibt sie in einer besser lesbaren Form zurück.
Dies ist ein sehr schlechter Leistungsindikator (obwohl er zur Überwachung des Zustands eines Produktionssystems nützlich ist). Mit Ausnahme von großen / langsamen Ressourcen wie umfangreichen Berichten, ISO-Bildern und Multimediadateien hat die Wahrnehmung der Leistung sehr wenig mit der Zeit zu tun, die für die Verarbeitung einer einzelnen Anforderung benötigt wird - und es ist wirklich schwierig, dies genau zu messen (einfach% hinzufügen). D in Ihrem Apache-Protokoll scheint das Problem zu lösen, ignoriert jedoch TCP-Handshakes, SSL-Aushandlung, Caching-Effekte und DNS-Lookup-Zeiten.
Eine bessere Lösung ist es, so etwas wie Boomerang zu verwenden - aber das läuft in einem Javascript-fähigen Browser. Dies liefert zwar einen besseren Indikator für die wahrgenommene Leistung als das Verfolgen einzelner HTTP-Anforderungen, stützt sich jedoch auf Browserereignisse, um einen Wert für die Leistung abzuleiten. Schauen Sie sich die Filmstreifen-Tools in WebPageTest an .
Es gibt auch das Argument, die Leistung zu messen, die den Benutzern der Site (RUM) tatsächlich zur Verfügung gestellt wird, und synthetische Tests.
quelle
Wenn Sie etwas größeres brauchen, dann locken Sie sich und / oder wget, gibt es auch Selen
quelle
Ich denke, um Leistungstests durchzuführen, können Sie JMeter ausprobieren . Sie können Ihren Test mit dem eingebauten Proxy aufzeichnen. Es läuft auch im Textmodus, lokal oder verteilt. Sie können Ihre Ergebnisse im CSV- oder XML-Format speichern. Wenn Sie das XML-Format verwenden, können Sie auch den Inhalt der Seite speichern.
quelle
Zum Überprüfen von Headern mag ich
httpie
( docs ).Installation
Verwendung
quelle