WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:

Selles artiklis proovime ennast tagasiviimises, vÔib öelda. Me uurime oma mÀÀrdunud kÀtega iga veebiserveri kapoti alt, kasutades neid nii, nagu keegi ei oleks kunagi kasutanud.

See test on nagu sfÀÀrilise hobuse mÔÔtmine vaakumis, mitte rohkem kui andmed, mis on saadud, ja me ei tea nĂŒĂŒd, mida nendega teha.

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:

Metoodika

Nginxi ja Apache'i operatsioonisĂŒsteemiks on Ubuntu 18.04 LTS, IIS jaoks Windows Server Core 2019. KĂ”ik operatsioonisĂŒsteemid said enne teste viimased vĂ€rskendused seisuga 04.12.2019.

Testid viidi lĂ€bi ainult HTTP protokollis. IgaĂŒhel veebiserveritest jooksis ĂŒks ja sama leht, tasuta Jekylli mall Codropsilt. Link. KĂ”igis veebiserverites oli vĂ€lja lĂŒlitatud gzip-pressimine.

LÀbilaskevÔime testi tehti Httpd-tools'iga jÀrgmiste argumentidega:

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

Serveritele seadistati piir 10, 5 ja 1 protsent tuumast vastavalt 8, 4 ja ĂŒhele tuumele. Testseadmeks oli arvuti 9900K@5400MHz, mis tĂ€hendab, et server, millele tĂ€hendati 10% piir, saab umbes 540MHz tuuma kaupa.

TTFB testi viidi lĂ€bi serveri esmakordse laadimise ajal ja mÔÔdeti DevTools'i abil, pĂ€rast tulemuse saamist serveri vĂ€lja lĂŒlitamist ja tagasi eelmisele kontrollpunktile, et vĂ€listada igasuguste vahemĂ€lu tekkimine.

Testija ja veebiserver olid samal hostil ja samas virtuaalses lĂŒlitites.

Koheseks diskisĂŒsteemi hindamiseks, ATTO ja CrystalDiskMark’iga tehtud tulemused, et mĂ”ista kitsaskohti.

Andmed vĂ”eti virtuaalsest masinast:WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:

Tulemused:

TTFB:

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
IIS keskmine TTFB on vĂ€iksem kui kĂ”igil, 0,5 ms, vĂ”rreldes 1,4 ms Apache’iga ja 4 ms Nginxiga.

sĂŒndmusi/s (eps): 836,6908

Esmalt vaatame, kui hÀsti iga server suudab tuumade arvu jÀrgi skaleeruda.

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
Graafikul on nÀidatud testija pÀringute arvu veebiserverisse ja latentsus. Graafikust on nÀha, et NGINX töötas vÀlja 98% kÔigist pÀringutest, andes saidi tagasi 20 ms ja vÀhem. IIS ja Apache töötasid viimased 5% kÔigist pÀringutest vastavalt 76 ms ja 14 ms.

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
Graafik nĂ€itab keskmist ĂŒhe pĂ€ringu töötlemise aega stressitesti ajal.

Nagu graafikutest nÀha, kaotas IIS nii Apache'ile kui Nginxile, aeglustudes tugeva koormuse all. 

IIS eelistab selgelt 4 tuuma 8 olemasoleva ees, nĂ€idates vĂ€iksemaid viivitusi nelja tuumaga, kuid ei hindanud ka ĂŒhte tuuma liiga kĂ”rgelt.

NGINX skaalub hĂ€sti kĂ”iki 8 tuuma, samas kui Apache nĂ€ib parimat valikut pakkuda ĂŒhe tuuma stsenaariumile.

Skaalautuvus:

Nginx:

NĂŒĂŒd vaatame skaalaulatust sageduse, tuumade arvu ja ketta kiirusel. 

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
1% piiranguga testis Nginx 4 ja 1 tuumaga ei lĂ€binud testimist, katkestades ĂŒhenduse testijaga, kui 2000 pĂ€ringut ĂŒletati.

Apache:

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
Apache, nagu Nginx, katkestas ĂŒhenduse 2500 pĂ€ringu töötlemise jĂ€rel. Apache ei lĂ€binud testi 8, 4 ja 1 tuumaga 1% limiidiga, ega ka 5% limiidiga ĂŒhe tuuma testis, mis on halvem kui Nginx.

IIS:

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
IIS genereeris testide ajal tohutu pĂ€ringute jĂ€rjekorra, kuid töötles igaĂŒhe neist. Tundub, et sellel pole vaikesetted pĂ€ringu töötlemiseks.

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
Diagrammil on nÀidatud aeg, mille jooksul test lÔpetati. TÀiesti absurdsed testimisnÔudmised jÀeti kÔrvale. Diagrammil on selgesti nÀha, kui nÔudlik IIS riistvara osas on ja kui hea on NGINX.

Skaalautuvus kettalt:

Nginx:

NĂŒĂŒd vaatame skaalaulatust sageduse, tuumade arvu ja ketta kiirusel. 

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
Sel korral ei lÀbinud Nginx 4 testi, saavutades vaid kaks.

Apache:

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
Apache kukkus lÀbi sama arvu teste nagu eelmine kord.

IIS:

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:
IIS nĂ€itab peaaegu identset graafikut, justkui poleks ketta piire. Üldiselt pole kĂ”ikide serverite graafikud palju muutunud, mis tĂ€hendab, et igaĂŒhel neist on staatika vahemĂ€lus ja see edastas sealt. Siit nĂ€eme peamist kitsaskohka – veebiserverit.

KokkuvÔtteid selle testi pÔhjal on veel vara teha, me ei ole veel testinud HTTPS-i, kokkusurumist ja HTTP/2 reaalsete sertifikaatidega, millest rÀÀgime jÀrgmises artiklis.

WEB-serverite lahing. Osa 1 – reaalsusest eemal HTTP:

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster