WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:

Artikulu honetan alderantzizko ingeniaritzan saiatuko gara, esan liteke. Esku zikinak sartuko ditugu web zerbitzari bakoitzaren estalpean, inork inoiz ustiatuko ez dituen moduan ustiatuz.

Proba hau zaldi esferiko baten neurketa da hutsean, lortutako datuak baino ez, eta orain ez dakigu zer egin horrekin.

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:

teknika

Nginx eta Apache-ren sistema eragilea Ubuntu 18.04 LTS da, IIS Windows Server Core 2019rako. Probak egin aurretik, sistema eragile guztiek azken eguneraketak jaso zituzten 04.12.2019ko abenduaren XNUMXtik aurrera.

Probak HTTP bidez soilik egin ziren. Web zerbitzari bakoitzak orri bera zekarren, Codrops-en doako Jekyll txantiloia. Link. Web zerbitzari bakoitzak gzip konpresioa desgaituta zeukan.

Errendimenduaren proba Httpd-tools-ekin egin zen argumentuekin:

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

Zerbitzariak nukleoaren ehuneko 10, 5 eta 1era mugatu ziren 8, 4 eta nukleo batean. Proba-bankua 9900K@5400MHz-eko ordenagailu bat zen, hau da, %10eko muga jasotzen duen zerbitzariak 540MHz inguru jasotzen ditu nukleo bakoitzeko.

TTFB proba zerbitzaria lehen aldiz abiarazi eta DevTools erabiliz neurtu zenean egin zen; emaitza jaso ondoren, zerbitzaria itzali eta aurreko kontrol puntura itzuli zen, edozein motatako cacheen itxura kentzeko.

Tester eta web zerbitzaria ostalari berean eta etengailu birtual berean zeuden.

Disko azpisistema berehala ebaluatzeko, ATTO eta CrystalDIskMark erreferentzien emaitzak botila-lepoen ideia bat izateko.

Makina birtualetik hartutako datuak:WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:

Emaitzak:

TTFB:

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
IISen batez besteko TTFB txikiena da, 0,5 ms, Apache-ren 1,4 ms eta Nginx-en 4 ms-ren aurrean.

throughput:

Lehenik eta behin, ikus dezagun zerbitzari bakoitza nola eskalatzen den nukleo kopuruaren arabera.

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
Grafikoak web zerbitzariari probatzaileen dei kopurua eta latentzia erakusten ditu. Grafikoak erakusten du NGINXek eskaera guztien % 98 prozesatu zuela, eta gunea 20 ms-tan edo gutxiagoan entregatu zuen. IISek, Apachek bezala, dei guztien azken %5a 76ms eta 14ms-tan osatu zuen, hurrenez hurren.

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
Grafikoak estres-proba batean eskaera baten batez besteko prozesatzeko denbora erakusten du.

Grafikoetan ikus dezakezun bezala, IISek Apache eta Nginx urrundu zituen, karga handiarekin nabarmen motelduz. 

IISek argi eta garbi nahiago zituen 4 nukleoak XNUMX baino gehiago, XNUMXan latentzia txikiagoak erakutsiz, baina ez zuen oso gogoko nukleo baten alde egiten.

NGINX ondo eskalatzen da 8 nukleo guztietan, eta Apacherentzat, nukleo bakarreko eszenatokia aukerarik onena dela dirudi.

Eskalagarritasuna:

nginx:

Orain ikus dezagun eskalagarritasuna maiztasunaren eta nukleo kopuruaren arabera. 

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
Nginx-ek ez zituen probak gainditu 1 eta 4 nukleoetarako % 1eko mugarekin; 2000 eskaera gainditzen zituenean, probagailuarekin konexioa amaitu zuen.

Apache:

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
Apache-k, Nginx-ek bezala, 2500 eskaera prozesatu ondoren, amore eman eta konexioa itxi zuen. Apache-k proba huts egin zuen 8, 4 eta 1 nukleoetan %1eko mugarekin, baina horrez gain, proba ere huts egin zuen nukleo batean %5eko mugarekin, Nginx baino okerragoa dena.

IIS:

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
Probetan, IISek eskaera ilara erraldoi bat pilatu zuen baina horietako bakoitza prozesatu zuen. Dirudienez, kutxatik kanpo ez dago eskaera prozesatzeko denbora-mugarik ezarrita.

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
Taulak proba burutzeko behar izan den denbora erakusten du. Proba konfigurazio guztiz absurdoak baztertu ziren. Diagramak erakusten du IIS zein zorrotza den hardwareari dagokionez, eta zein zoragarria den NGINX.

Diskotik eskalagarritasuna:

nginx:

Ikus dezagun eskalagarritasuna maiztasunari eta nukleo kopuruari eta diskoaren abiadurari dagokionez. 

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
Oraingoan Nginx-ek 4 proba huts egin zituen biren ordez.

Apache:

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
Apache-k azkeneko proba kopuru bera huts egin du.

IIS:

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:
IIS-ek grafiko ia berdina erakusten du, disko-murrizketarik ez balego bezala. Oro har, zerbitzari guztien grafikoak ez ziren asko aldatu, hau da, bakoitzak RAMan datu estatikoak gordetzen zituen eta hortik zerbitzatzen zuen. Hemen botila-lepo nagusia ikusten dugu - web zerbitzaria bera.

Goiz da proba honetan oinarritutako ondorioak ateratzeko; oraindik ez ditugu HTTPS, konpresioa eta HTTP/2 probatu Let's Encrypt-en zuzeneko ziurtagiri batekin. Honetaz hurrengo artikuluan hitz egingo dugu.

WEB zerbitzarien gudua. 1. zatia - HTTP ukipenetik kanpo:

Iturria: www.habr.com

Gehitu iruzkin berria