Open Source im professionellen Einsatz
Linux-Magazin 12/2016

Aus dem Alltag eines Sysadmin: Httpstat

Aus meiner Warte

Kolumnist Charly Kühnast hält diesmal eine Spezial-Stoppuhr in der Hand: Httpstat. Damit spürt er Webservern hinterhier, wie lange die brauchen, um eine statische oder dynamische HTML-Seite auszuliefern. Sichtbar werdende Hänger deuten auf Optimierungpotenzial beim Server hin.

382

Httpstat ist ein Python-Skript, das sich als Wrapper um Curl legt. Von Python 2 oder 3 und Curl abgesehen gibt es keine weiteren Abhängigkeiten. Ich hole es einfach aus dem Github-Repository:

wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py

Wer den Python-Installer Pip installiert hat, bekommt das Skript auch mittels »pip install httpstat« . Der Aufruf ist simpel: »python httpstat.py URL« oder, wenn man Httpstat per Pip installiert hat, »httpstat URL« Bei der URL darf ich »http://« auch weglassen, das »https://« bei TLS- gesicherte Webseiten jedoch nicht.

In Abbildung 1 misst Httpstat einen unverschlüsselten Aufruf. Die 4 Millisekunden, in denen der DNS antwortet, sind ein super Wert. Der entsteht, weil der Name der Site im Cache meines lokalen Dnsmasq liegt. Sobald mein Rechner den DNS meines Providers bemühen muss, steigt der Wert auf 80 bis 200 Millisekunden. Der TCP-Handshake liegt mit 22 Millisekunden im üblichen Rahmen.

Die Zeit, die der Server braucht, um die Seite zusammenzustellen ("Server Processing"), zeigt, ob im Webserver noch Optimierungspotenzial schlummert. Mein Beispiel eben ist nicht repräsentativ, denn der Server liefert statt HTML: »301 - Moved Permanently« – bitte die Seite per HTTPS aufrufen. Ein Browser würde das eigenständig tun, Curl nicht.

Abbildung 2 fordert die gleiche Seite per HTTPS an. Lookup und TCP-Wert bleiben gleich, der TLS-Handshake aber dauert – für diese statische Seite – ewig. Für eine große Seite mit viel dynamischen Inhalten und Werbebannern kann der Wert auf mehrere Sekunden hochgehen.

Abbildung 1: Die Seite, die Httpstat hier per HTTP anfordert und rasend schnell erhält, ist in Wirklichkeit nur eine Fehlermeldung.
Abbildung 2: Per HTTPS angefordert kommt die wirkliche HTML-Seite – was nun sichtbar länger dauert.

Httpstat ist nicht über Kommandozeilen-Parameter steuerbar, denn die kämen bei Curl an. Ich kann das Tool aber über Umgebungsvariablen beeinflussen. Mit

export HTTPSTAT_SHOW_SPEED=true

zeigt Httpstat die Geschwindigkeit an, mit der die Webseite anlandet:

speed_download: 219.6 KiB/s, speed_upload: 0.0 KiB/s

Die Homepage [1] erklärt alle Variablen; dort gibt auch Links zu in Go, Bash oder PHP implementierten Httpstats.

Der Autor

Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen Aufgaben gehören Sicherheit und Verfügbarkeit der Firewalls und der DMZ.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 1 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Einführung

    Kolumnist Charly Kühnast wirft wie jeder Sysadmin ab und zu ein Steinchen nach einem Rechner, wenn der sich tot stellt. Wenn die Gegenseite auf Ping nicht reagiert, heißt das nicht, dass sie tot ist. Genauso wahrscheinlich ist, dass das Steinchen nicht getroffen hat.

  • LUG ins Land

    Vom Niederrhein nach Mittelfrankenen: Charly fand auf seiner Reise platt geklopftes Gold, ausgelassene Linuxer, verlassene Bierhöhlen und einen Python-Einzeiler für vorzeigbare Tourfotos. Einfach hinreisend.

  • Einführung

    In 25 Jahren Linux-Kernel-Geschichte sammelt sich nicht nur viel guter Code an, sondern auch eine Menge Kommentare. Sie können erläuternd, erhellend oder erheiternd sein. Oft genug sind es wilde Flüche. Kolumnist Charly will den Programmierern dies nicht nachmachen und tippt in der Shell lieber "fuck".

  • Einführung

    Nachdem die Anschaffung einer Atomuhr im Hause Kühnast keine Mehrheit gefunden hat, zapft Charly eben das Uhrwerk eines GPS-Satelliten an. So verschafft er zu Hause der Pünktlichkeit Geltung, die sonst nur große Rechenzentren benötigen. Genau.

  • Einführung

    Btr-FS ist immer noch nicht fertig, aber konzeptionell fasst es so viele sinnvolle Dateisystem-Funktionen zusammen, dass Sysadmin Charly unbedingt damit herumexperimentieren will.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.