Raspberry Pi – Webserver Vergleich
In früheren Artikeln habe ich euch die Installation und Konfiguration von Webserver für den Raspberry Pi vorgestellt. Das waren der Apache2, Lighttpd und zuletzt auch Nginx. Nachdem wir nun wissen wie man jeden dieser Webserver verwenden kann stellt sich die Frage: welcher davon ist der Beste?
Versuchsanordnung
Um die Webserver miteinander zu vergleichen brauchen wir eine Versuchsanordnung mit der aussagekräftige Vergleichsdaten generiert werden können. Dafür habe ich mich für das Online Tool Loadimpact entschieden mit dem man auch ohne Registrierung einen Test auf eine Webseite oder IP Adresse machen kann.
Das Tool ruft die Seite über eine wachsende Anzahl an Zugriffen von einem entfernten Punkt auf der Welt auf. Bei meinen Messungen wurde mein Pi von Servern in Australien und den Vereinigten Staaten unter Last gesetzt.
Mein Raspberry Pi stand dabei zuhause und war mit einem WLAN Stick mit meinem handelsüblichen Router verbunden. Am Router musste ich jedoch einstellen, dass die Ports für den Zugriff von außen auf den Raspberry Pi weitergeleitet wurden. Ich habe dafür Port 80 (HTTP) und SSH (22) umgeleitet. Tut man das nicht, wird lediglich das Webinterface des Routers aufgerufen und nicht der Webserver des Raspberry Pis. Zur Sicherheit also zuerst von außen testen.
Webserver Vergleich
Der Test war etwas aufwendig, er lieferte mir folgende Werte:
Apache2
Lighttpd
Nginx
Vergleich
Die Grafiken beim Webserver Vergleich zeigen in einem Zeitdiagramm 2 Werte an. Das eine ist die Ladezeit der Seite die ein Besucher der Seite warten muss (blau) und zum anderen die Anzahl der aktiven Besucher auf der Seite (grün). Wie man auf den einzelnen Grafiken sehr gut erkennen kann bleibt bei steigender Beuscheranzahl die Ladezeit nahezu ident. Es gibt nur wenige statistisch nicht relevante Ausreißer.
Man kann auf den Grafiken auch recht gut herauslesen, dass sowohl bei Nginx als auch bei Apache2 eine Ladezeit von knapp 750 ms pro Seitenaufruf gemessen wurde. Das ist eigentlich ein schlechter Wert für einen Webserver. Bedenkt man die begrenzten Ressourcen des Raspberry Pis so ist das eigentlich sogar recht gut. Am besten schneidet der Webserver lighttpd ab mit einer Ladezeit von 300 ms.
Fazit
Steigende Besucherzahlen lassen den Webserver kalt, Ladezeiten sind konstant. Im Webserver Vergleich der 3 großen Webserver am Raspberry Pi sieht man gut dass lighttpd am besten performt. Man muss jedoch dazusagen, dass es sich lediglich um eine statische Seite handelt die geladen wird. Diese Auswertung sieht unter anderen Bedingungen wie dynamische Webseiten und unterschiedliche Systeme wie WordPress, Joomal oder ähnliches deutlich anders aus. Hat man vor den Raspberry Pi professionell als Webserver einzusetzen, dann empfiehlt sich das System auf den unterschiedlichen Webservern vorab zu testen!
Hallo Werner,
besten Dank für die Messwerte, die viel mehr Aussagekraft haben als die bisherigen Aussagen im I-Net.
MfG Pofoklempner
Was hast Du genau gemessen? Rein http?
Den Vergleich würde ich gern mit PHP und SQL Anbindung getestet sehen! Da würde der Apache2 nämlich extrem in die Knie gehen. Das merkt man bspw. sehr stark bei Owncloud – http://siehe.link/f1
Der Aufruf einer Gallerie fast 10 Bildern dauert auf dem Pi 1,6 Minuten etwa.
Wie verhält es sich mit unterschiedlichen Raspberry-Versionen?
Also ist z.B. ein Update vom PI1 (Typ B) auf den PI3 sinnvoll, oder ändern sich die Zugriffs-/Ladezeiten dadurch nicht?