Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:

In diesem Artikel versuchen wir uns im Reverse Engineering, könnte man sagen. Wir schauen mit unseren schmutzigen HĂ€nden unter die Haube jedes Webservers und nutzen sie aus, wie es niemand jemals tun wĂŒrde.

Dieser Test ist eine Messung des sphÀrischen Pferdes im Vakuum, nicht mehr als Daten, die erfasst wurden, und wir wissen jetzt nicht, was wir damit machen sollen.

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:

Methodik

Als Betriebssystem fĂŒr Nginx und Apache dient Ubuntu 18.04 LTS, fĂŒr IIS Windows Server Core 2019. Alle Betriebssysteme erhielten vor den Tests die neuesten Updates mit Stand 04.12.2019.

Die Tests wurden ausschließlich ĂŒber HTTP durchgefĂŒhrt. Auf jedem der Webserver lief dieselbe Seite, eine kostenlose Vorlage fĂŒr Jekyll von Codrops. Link. Auf jedem der Webserver war die gzip-Komprimierung deaktiviert.

Der Durchsatztest wurde mit Httpd-tools und folgenden Argumenten durchgefĂŒhrt:

ab -n 50000 -c 500 http://192.168.76.204:80/

Auf die Server wurde eine BeschrÀnkung von 10, 5 und 1 Prozent pro Kern auf 8, 4 und einem Kern gesetzt. Als Teststand diente ein Computer mit 9900K@5400MHz, was bedeutet, dass der Server, der auf 10 % begrenzt wurde, etwa 540 MHz pro Kern erhÀlt.

Der TTFB-Test wurde beim ersten Laden des Servers durchgefĂŒhrt und mit den DevTools gemessen. Nach Erhalt des Ergebnisses wurde der Server heruntergefahren und auf den vorherigen Wiederherstellungspunkt zurĂŒckgesetzt, um die Entstehung jeglicher Art von Caches auszuschließen.

Der Tester und der Webserver befanden sich auf demselben Host und demselben virtuellen Switch.

Um die Disk-Subsystem sofort zu bewerten, zeigen die Benchmark-Ergebnisse von ATTO und CrystalDiskMark die EngpÀsse auf.

Die Daten stammen aus einer virtuellen Maschine:Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:

Ergebnisse:

TTFB:

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Der durchschnittliche TTFB bei IIS ist der niedrigste, 0,5 ms, im Vergleich zu 1,4 ms bei Apache und 4 ms bei Nginx.

Durchsatz:

Zuerst betrachten wir, wie gut sich jeder der Server bei der Anzahl an Kernen skalieren lÀsst.

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Im Diagramm ist die Anzahl der Anfragen des Testers an den Webserver und die Latenz dargestellt. Es ist zu sehen, dass NGINX 98 % aller Anfragen bearbeitet hat und die Website in 20 ms oder weniger geliefert wurde. IIS und Apache benötigten fĂŒr die letzten 5 % aller Anfragen 76 ms bzw. 14 ms.

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Im Diagramm ist die durchschnittliche Bearbeitungszeit einer Anfrage wÀhrend des Stresstests dargestellt.

Wie aus den Diagrammen hervorgeht, hat IIS gegen Apache und Nginx verloren und war unter hoher Last stark verlangsamt. 

IIS bevorzugte eindeutig 4 Kerne gegenĂŒber acht und zeigte geringere Latenzen bei vier, war jedoch auch mit einem Kern nicht wirklich zufrieden.

NGINX skaliert hervorragend auf alle 8 Kerne, wĂ€hrend fĂŒr Apache anscheinend ein Ein-Kern-Szenario die beste Wahl zu sein scheint.

Skalierbarkeit:

Nginx:

Betrachten wir nun die Skalierbarkeit in Bezug auf Frequenz und Anzahl der Kerne. 

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Tests mit einer 1%-Grenze auf 4 und 1 Kern hat Nginx nicht bestanden, bei ĂŒber 2000 Anfragen hat es die Verbindung zum Tester abgebrochen.

Apache:

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Apache hat wie Nginx 2500 Anfragen bearbeitet, aber letztendlich aufgegeben und die Verbindung getrennt. Apache hat den Test auf 8, 4 und 1 Kern mit einer 1%-Grenze nicht bestanden, zudem hat es auch den Test bei 5% Begrenzung auf einem Kern nicht bestanden, was schlechter ist als Nginx.

IIS:

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
IIS hat wĂ€hrend der Tests einen riesigen Anfragenstau aufgebaut, aber jede einzelne Anfrage bearbeitet. Anscheinend sind in der Standardkonfiguration keine Zeitlimits fĂŒr die Bearbeitung von Anfragen festgelegt.

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Im Diagramm ist die Zeit dargestellt, in der der Test abgeschlossen wurde. Komplett absurde Testkonfigurationen wurden verworfen. Aus dem Diagramm geht hervor, wie anspruchsvoll IIS an die Hardware ist und wie hervorragend NGINX abschneidet.

Skalierbarkeit vom Disk:

Nginx:

Nun betrachten wir die Skalierbarkeit in Bezug auf Frequenz, Anzahl der Kerne und Festplattengeschwindigkeit. 

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Dieses Mal hat Nginx 4 Tests nicht bestanden, anstelle von zwei.

Apache:

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
Apache hat die gleiche Anzahl an Tests wie beim letzten Mal nicht bestanden.

IIS:

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:
IIS zeigt nahezu identische Grafiken, als ob es keine EinschrĂ€nkungen bezĂŒglich des Disk hĂ€tte. Im Großen und Ganzen haben sich die Grafiken aller Server nicht stark verĂ€ndert, was bedeutet, dass jeder von ihnen den statischen Inhalt im Arbeitsspeicher zwischengespeichert hat und von dort aus ausgeliefert hat. Hier erkennen wir den Hauptengpass – den Webserver selbst.

Es ist zu frĂŒh, um auf der Grundlage dieser Tests Schlussfolgerungen zu ziehen, da wir HTTPS, Kompression und HTTP/2 mit einem Live-Zertifikat von Let’s Encrypt noch nicht getestet haben. DarĂŒber werden wir im nĂ€chsten Artikel berichten.

Die Schlacht der WEB-Server. Teil 1 – losgelöst von der RealitĂ€t HTTP:

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster