Einfaches Linux-Tool zum Timing einer http-Anfrage in Millisekunden

12

Ich suche nach einem einfachen Tool oder einem integrierten Befehl, mit dem ich die Zeit, die zum Abrufen einer Remote-Webseite von einer bestimmten URL benötigt wird, mit Millisekundengenauigkeit messen kann.

GJ.
quelle

Antworten:

12

Tut das, wonach Sie suchen?

time wget http://example.com
Bis auf weiteres angehalten.
quelle
Dies schließt die Zeit ein, die zum Starten und Ausführen von wget benötigt wird. Diese Zeit kann erheblich länger sein als die Antwortzeit des Servers.
Paul Lynch
@ PaulLynch: Ich habe einen einfachen Test gemacht. Ich habe dies in einem Terminal ausgeführt: rm foo; touch foo; python -m SimpleHTTPServerund in einem anderen: time wget --quiet --output-document=/dev/null localhost:8000/foound das Ergebnis war 2 Millisekunden. Ich habe das gleiche wgetgegen google.com ausgeführt (das ungefähr 10.000 Zeichen abruft) und ungefähr eine Viertelsekunde bekommen. Nennen wir in diesem Fall die Start- / Laufzeit ungefähr 1%. Zum Vergleich habe ich time curl file://foodann ungefähr 4 Millisekunden bekommen.
Bis auf weiteres angehalten.
Es scheint, dass Sie Recht haben, für http-Anfragen, für die ich nur etwa 2 ms Verlangsamung bekomme. Ich habe versucht, eine https-URL zu erhalten. Aus diesem Grund ist wget für eine Anfrage, die Chrome in etwa 10 ms zurückgibt, etwa 25 ms langsamer (und nicht "aus dem Cache"). Sowohl wget als auch Chrome laufen auf demselben Computer wie der Webserver und adressieren ihn als "localhost". Ich beschuldige wget für den Zeitunterschied.
Paul Lynch
7

Httping wird das tun.

HTTP ist wie "Ping", nur für http-Anfragen. Geben Sie eine URL ein und es wird angezeigt, wie lange es dauert, eine Verbindung herzustellen, eine Anfrage zu senden und die Antwort abzurufen (nur die Header). Beachten Sie, dass die Übertragung über das Netzwerk auch Zeit braucht! Es misst also die Latenz des Webservers + Netzwerks.

Garyjohn
quelle
3

Mit Wireshark können Sie eine Übertragung detailliert untersuchen. Sie können sehen, wie lange es dauert, eine einzelne Datei herunterzuladen, wie Dennis vorgeschlagen hat, oder wenn Sie die URL in einem Webbrowser öffnen, können Sie sehen, wie lange es dauert, alle zugehörigen Dateien (Bilder, Skripte usw.) zu laden.

Neil
quelle
2

Sie können es mit Locken gemäß dieser Antwort tun

Erstellen Sie eine neue Datei curl-format.txtund fügen Sie Folgendes ein :

    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

Führen Sie dann die Locke wie folgt aus:

curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"

Harry Wood
quelle