Website-Suche

So testen Sie die Ladegeschwindigkeit einer Website im Linux-Terminal


Die Reaktionszeit einer Website kann einen großen Einfluss auf die Benutzererfahrung haben. Wenn Sie ein Webentwickler oder einfach nur ein Serveradministrator sind, der insbesondere für die Organisation der einzelnen Teile verantwortlich ist, müssen Sie dies zu einem Punkt machen, den die Benutzer nicht spüren frustriert beim Zugriff auf Ihre Website – es besteht also wirklich „Geschwindigkeitsbedürfnis“.

Lesen Sie auch: httpstat – Ein Curl-Statistik-Tool zur Überprüfung der Website-Leistung

In dieser Anleitung erfahren Sie, wie Sie die Antwortzeit einer Website über die Linux-Befehlszeile testen. Hier zeigen wir, wie Sie die Zeit in Sekunden überprüfen können. Dazu benötigen Sie:

  • um eine Namensauflösung durchzuführen.
  • für die TCP-Verbindung zum Server.
  • damit die Dateiübertragung beginnen kann.
  • für das erste zu übertragende Byte.
  • für den kompletten Betrieb.

Darüber hinaus werden wir für HTTPS-fähige Websites auch sehen, wie man die Zeit (in Sekunden) testet, die benötigt wird, um eine Umleitung und eine SSL-Verbindung/einen SSL-Handshake mit dem Server abzuschließen. Es hört sich gut an, okay, fangen wir an.

cURL ist ein leistungsstarkes Befehlszeilentool zum Übertragen von Daten von oder zu einem Server unter Verwendung von Protokollen wie FILE, FTP, FTPS, HTTP, HTTPS und vielen anderen. In den meisten Fällen wird es als Befehlszeilen-Downloader oder zum Überprüfen von HTTP-Headern verwendet. Hier werden wir jedoch eine seiner weniger bekannten Funktionen beschreiben.

cURL verfügt über eine nützliche Option: -w zum Drucken von Informationen auf stdout nach einem abgeschlossenen Vorgang. Es gibt einige Variablen, mit denen wir die oben aufgeführten unterschiedlichen Antwortzeiten einer Website testen können.

Wir werden einige der zeitbezogenen Variablen verwenden, die in einem bestimmten Format als Literalzeichenfolge oder in einer Datei übergeben werden können.

Öffnen Sie also Ihr Terminal und führen Sie den folgenden Befehl aus:

curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com

Die Variablen im obigen Format sind:

  • time_namelookup – Zeit in Sekunden, die vom Start bis zum Abschluss der Namensauflösung verging.
  • time_connect – Zeit in Sekunden, die vom Start bis zum Abschluss der TCP-Verbindung zum Remote-Host (oder Proxy) gedauert hat.
  • time_pretransfer – Zeit in Sekunden, die vom Start bis zum Beginn der Dateiübertragung gedauert hat.
  • time_starttransfer – Zeit in Sekunden, die vom Start bis zur Übertragung des ersten Bytes gedauert hat.
  • time_total – Gesamtzeit in Sekunden, die der vollständige Vorgang gedauert hat (Auflösung in Millisekunden).

Wenn das Format zu lang ist, können Sie es in eine Datei schreiben und die folgende Syntax verwenden, um es zu lesen:

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

Im obigen Befehl ist das Flag:

  • -s – weist Curl an, still zu arbeiten.
  • -w – Informationen auf stdout ausgeben.
  • -o – wird zum Umleiten der Ausgabe verwendet (hier verwerfen wir die Ausgabe, indem wir sie nach /dev/null umleiten).

Für HTTPS-Sites können Sie den folgenden Befehl ausführen:

curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://www.google.com

Im obigen Format lauten die neuen Zeitvariablen:

  • time_appconnect – Zeit in Sekunden, die vom Start bis zum Abschluss der SSL-Verbindung/des SSL-Handshakes zum Remote-Host gedauert hat.
  • time_redirect – Zeit in Sekunden, die für alle Umleitungsschritte benötigt wurde, einschließlich Namenssuche, Verbindung, Vorübertragung und Übertragung, bevor die endgültige Transaktion gestartet wurde; Es berechnet die gesamte Ausführungszeit für mehrere Umleitungen.

Wichtige Punkte, die es zu beachten gilt.

  • Sie werden feststellen, dass sich die Reaktionszeitwerte (aufgrund mehrerer Faktoren) ständig ändern, wenn Sie verschiedene Tests ausführen. Daher ist es ratsam, mehrere Werte zu sammeln, um eine Durchschnittsgeschwindigkeit zu ermitteln.
  • Zweitens können Sie anhand der Ergebnisse der oben genannten Befehle erkennen, dass der Zugriff auf eine Website über HTTP viel schneller ist als über HTTPS.

Weitere Informationen finden Sie auf der cURL-Manpage:

man curl

Wenn Ihre Ergebnisse nicht zufriedenstellend sind, müssen Sie zu guter Letzt einige Anpassungen auf Ihrem Server oder im Code vornehmen. Sie können die folgenden Tutorials verwenden, die Programme und Tipps erklären, um das Laden von Websites unter Linux zu beschleunigen:

  1. Installieren Sie Nginx mit Ngx_Pagespeed (Geschwindigkeitsoptimierung) unter Debian und Ubuntu
  2. Beschleunigen Sie die Nginx-Leistung mit Ngx_Pagespeed unter CentOS 7
  3. Erfahren Sie, wie Sie Websites mithilfe des Nginx- und Gzip-Moduls beschleunigen
  4. So steigern Sie die Internetgeschwindigkeit eines Linux-Servers mit TCP BBR

Das ist alles! Jetzt wissen Sie, wie Sie die Reaktionszeit einer Website über die Befehlszeile testen. Sie können Fragen über das unten stehende Feedback-Formular stellen.