Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:

Í þessari grein munum við reyna fyrir okkur í bakverkfræði, mætti ​​segja. Við munum fá óhreinar hendur okkar undir húddinu á hverjum vefþjóni og nýta þá á þann hátt sem enginn myndi nokkurn tímann nýta.

Þetta próf er mæling á kúlulaga hesti í lofttæmi, ekkert annað en gögn sem fengust og nú vitum við ekki hvað við eigum að gera við þau.

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:

Aðferðafræði

Stýrikerfið fyrir Nginx og Apache er Ubuntu 18.04 LTS, fyrir IIS Windows Server Core 2019. Fyrir prófin fengu öll stýrikerfi nýjustu uppfærslurnar frá og með 04.12.2019. desember XNUMX.

Prófanir voru eingöngu gerðar yfir HTTP. Hver vefþjónn rak sömu síðuna, ókeypis Jekyll sniðmát frá Codrops. Link. Hver vefþjónn hafði slökkt á gzip-þjöppun.

Afkastaprófið var gert með Httpd-tólum með rökunum:

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

Netþjónar voru takmarkaðir við 10, 5 og 1 prósent af kjarnanum á 8, 4 og einum kjarna. Prófunarbekkurinn var tölva með 9900K@5400MHz, sem þýðir að þjónninn sem fær 10% mörk fær um 540MHz á hvern kjarna.

TTFB prófið var framkvæmt þegar þjónninn ræsti fyrst og mældi með DevTools; eftir að niðurstaðan barst var slökkt á þjóninum og rúllað aftur á fyrri eftirlitsstað til að koma í veg fyrir útlit hvers kyns skyndiminni.

Prófarinn og vefþjónninn voru á sama vélinni og á sama sýndarrofanum.

Til að meta diskundirkerfið strax, niðurstöður ATTO og CrystalDIskMark viðmiðanna til að hafa hugmynd um flöskuhálsana.

Gögn tekin úr sýndarvélinni:Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:

Úrslit:

TTFB:

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Meðaltal TTFB fyrir IIS er minnst, 0,5ms, á móti 1,4ms fyrir Apache og 4ms fyrir Nginx.

Afköst:

Í fyrsta lagi skulum við skoða hversu vel hver netþjónn mælist miðað við fjölda kjarna.

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Grafið sýnir fjölda prófara símtala á vefþjóninn og leynd. Grafið sýnir að NGINX afgreiddi 98% allra beiðna og afhenti síðuna á 20 ms eða minna. IIS, eins og Apache, kláraði síðustu 5% allra símtala á 76 ms og 14 ms, í sömu röð.

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Grafið sýnir meðalvinnslutíma fyrir eina beiðni meðan á álagsprófi stendur.

Eins og þú sérð á línuritunum sprengdi IIS bæði Apache og Nginx í burtu og hægði verulega á sér við mikið álag. 

IIS valdi greinilega 4 kjarna fram yfir XNUMX, sýndi lægri leynd á XNUMX, en var heldur ekki hlynntur einum kjarna.

NGINX mælist vel yfir alla 8 kjarna og fyrir Apache virðist einskjarna atburðarás vera besti kosturinn.

Skalanleiki:

nginx:

Nú skulum við líta á sveigjanleika hvað varðar tíðni og fjölda kjarna. 

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Nginx stóðst ekki próf með takmörkunum 1% fyrir 4 og 1 kjarna; þegar það fór yfir 2000 beiðnir, sleit það tengingunni við prófarann.

Apache:

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Apache, eins og Nginx, hafði afgreitt 2500 beiðnir, gafst upp og lokaði tengingunni. Apache féll á prófinu á 8, 4 og 1 kjarna með 1% mörk, en að auki féll það einnig á prófinu með 5% takmörk á einum kjarna, sem er verra en Nginx

IIS:

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Í prófunum safnaði IIS risastórri biðröð af beiðnum en afgreiddi hverja þeirra. Eins og gefur að skilja eru engir tímamörk settir fyrir úrvinnslu beiðna.

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Myndin sýnir tímann sem það tók að klára prófið. Algjörlega fáránlegum prófunarstillingum var hent. Skýringarmyndin sýnir hversu krefjandi IIS er þegar kemur að vélbúnaði og hversu dásamlegt NGINX er.

Sveigjanleiki frá diski:

nginx:

Nú skulum við líta á sveigjanleika hvað varðar tíðni og fjölda kjarna og hraða disksins. 

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Að þessu sinni féll Nginx í 4 prófum í stað tveggja.

Apache:

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
Apache féll á sama fjölda prófa og síðast.

IIS:

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:
IIS sýnir næstum eins línurit, eins og það væru engar diskatakmarkanir. Almennt séð breyttist grafík allra netþjóna ekki mikið, sem þýðir að hver þeirra safnaði kyrrstæðum gögnum í vinnsluminni og þjónaði þeim þaðan. Hér sjáum við aðal flöskuhálsinn - vefþjóninn sjálfur.

Það er of snemmt að draga ályktanir byggðar á þessum prófunum; við höfum ekki enn prófað HTTPS, þjöppun og HTTP/2 með lifandi vottorði frá Let's Encrypt. Við munum tala um þetta í næstu grein.

Orrustan við vefþjóna. Hluti 1 - HTTP úr sambandi:

Heimild: www.habr.com

Bæta við athugasemd