Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:

An dësem Artikel wäerte mir eis Hand um Reverse Engineering probéieren, kéint ee soen. Mir wäerten eis dreckeg Hänn ënner der Hood vun all Webserver kréien, se ausnotzen op Weeër déi keen jee géif ausnotzen.

Dësen Test ass eng Messung vun engem kugelfërmege Päerd an engem Vakuum, näischt méi wéi d'Donnéeën déi kritt goufen, an elo wësse mer net wat mat deem ze maachen.

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:

Technik

De Betribssystem fir Nginx an Apache ass Ubuntu 18.04 LTS, fir IIS Windows Server Core 2019. Virun den Tester kruten all Betribssystemer déi lescht Updates vum 04.12.2019. Dezember XNUMX.

Tester goufen exklusiv iwwer HTTP duerchgefouert. All Webserver leeft déiselwecht Säit, e gratis Jekyll Template vu Codrops. Link. All Webserver hat gzip Kompressioun behënnert.

Den Duerchgangstest gouf mat Httpd-Tools mat den Argumenter gemaach:

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

Servere waren limitéiert op 10, 5, an 1 Prozent vum Kär op 8, 4, an engem Kär. D'Testbänk war e Computer mat 9900K@5400MHz, dat heescht datt de Server, deen eng 10% Limit kritt, ongeféier 540MHz pro Kär kritt.

Den TTFB Test gouf duerchgefouert wann de Server fir d'éischt mam DevTools gemooss gouf nodeems de Resultat kritt gouf, gouf de Server ausgeschalt an zréck op de fréiere Checkpoint gerullt fir d'Erscheinung vun iergendenger Cache ze eliminéieren.

Den Tester an de Webserver waren um selwechte Host an um selwechte virtuelle Schalter.

Fir direkt den Disk Subsystem ze evaluéieren, d'Resultater vun den ATTO a CrystalDIskMark Benchmarks fir eng Iddi vun de Flaschenhals ze hunn.

Daten aus der virtueller Maschinn geholl:Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:

Resultater:

TTFB:

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Den duerchschnëttleche TTFB fir IIS ass déi klengst, 0,5ms, versus 1,4ms fir Apache a 4ms fir Nginx.

Duerchsatz:

Als éischt kucke mer wéi gutt all Server skaléiert baséiert op der Unzuel vun de Kären.

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
D'Grafik weist d'Zuel vun den Tester Uruff un de Webserver an d'Latenz. D'Grafik weist datt NGINX 98% vun all Ufroe veraarbecht huet, de Site an 20ms oder manner liwwert. IIS, wéi Apache, huet déi lescht 5% vun all Uruff an 76ms respektiv 14ms ofgeschloss.

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
D'Grafik weist déi duerchschnëttlech Veraarbechtungszäit fir eng Ufro während engem Stresstest.

Wéi Dir aus de Grafike gesitt, huet IIS souwuel Apache wéi och Nginx geblosen, a wesentlech ënner héijer Belaaschtung verlangsamt. 

IIS huet kloer 4 Cores iwwer XNUMX bevorzugt, déi méi niddereg latencies op XNUMX weisen, awer huet och net ee Kär staark favoriséiert.

NGINX skaléiert gutt iwwer all 8 Cores, a fir Apache schéngt den Single-Core Szenario déi bescht Wiel ze sinn.

Skalierbarkeet:

nginx:

Loosst eis elo d'Skalierbarkeet kucken wat d'Frequenz an d'Zuel vun de Kären ugeet. 

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Nginx huet Tester net mat enger Limit vun 1% fir 4 an 1 Cores passéiert wann et 2000 Ufroen iwwerschratt huet, huet d'Verbindung mam Tester ofgeschloss.

Apache:

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Apache, wéi Nginx, hunn 2500 Ufroe veraarbecht, opginn an d'Verbindung zougemaach. Apache huet den Test op 8, 4 an 1 Cores mat enger Limit vun 1% gescheitert, awer zousätzlech huet et den Test mat enger 5% Limit op engem Kär gescheitert, wat méi schlecht ass wéi Nginx

IIS:

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Wärend den Tester huet IIS eng gigantesch Schlaang vun Ufroe gesammelt, awer all eenzel veraarbecht. Anscheinend, aus der Këscht ginn et keng Timeouts fir d'Ufroveraarbechtung festgeluecht.

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
D'Diagramm weist d'Zäit déi et gedauert huet fir den Test ofzeschléissen. Komplett absurd Testkonfiguratiounen goufen verworf. D'Diagramm weist wéi exigent IIS ass wann et ëm Hardware kënnt, a wéi wonnerbar NGINX ass.

Skalierbarkeet vum Disk:

nginx:

Loosst eis elo d'Skalierbarkeet kucken wat d'Frequenz an d'Zuel vun de Kären an d'Diskgeschwindegkeet ugeet. 

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Dës Kéier huet Nginx 4 Tester amplaz zwee gescheitert.

Apache:

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
Apache huet déiselwecht Unzuel un Tester gescheitert wéi déi lescht Kéier.

IIS:

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:
IIS weist eng bal identesch Grafik, wéi wann et keng Diskbeschränkungen wieren. Am Allgemengen, huet d'Grafiken vun all Serveren net vill geännert, dat heescht, datt jidderee vun hinnen statesch Donnéeën am RAM cache an et vun do zerwéiert. Hei gesi mir den Haaptfläschenhals - de Webserver selwer.

Et ass ze fréi fir Conclusiounen op Basis vun dësem Test ze zéien, mir hunn nach net HTTPS, Kompressioun an HTTP/2 getest mat engem Live Zertifika vu Let's Encrypt. Mir schwätzen iwwer dëst am nächsten Artikel.

Schluecht vun WEB Serveren. Deel 1 - HTTP aus Touch:

Source: will.com

Setzt e Commentaire