Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:

Në këtë artikull ne do të provojmë dorën tonë në inxhinierinë e kundërt, mund të thuhet. Ne do t'i fusim duart tona të pista nën kapuçin e secilit server në internet, duke i shfrytëzuar ato në mënyra që askush nuk do t'i shfrytëzonte kurrë.

Ky test është një matje e një kali sferik në një vakum, asgjë më shumë se të dhëna që janë marrë, dhe tani ne nuk dimë çfarë të bëjmë me të.

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:

teknikë

Sistemi operativ për Nginx dhe Apache është Ubuntu 18.04 LTS, për IIS Windows Server Core 2019. Para testeve, të gjitha sistemet operative morën përditësimet më të fundit që nga 04.12.2019 dhjetori XNUMX.

Testet u kryen ekskluzivisht në HTTP. Secili ueb server drejtonte të njëjtën faqe, një shabllon falas Jekyll nga Codrops. Lidhje. Çdo server në internet kishte kompresimin gzip të çaktivizuar.

Testi i xhiros është bërë me mjete Httpd me argumentet:

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

Serverët ishin të kufizuar në 10, 5 dhe 1 përqind të bërthamës në 8, 4 dhe një bërthamë. Vendi i provës ishte një kompjuter me 9900K@5400MHz, që do të thotë se serveri që merr një kufi prej 10% merr rreth 540 MHz për bërthamë.

Testi TTFB u krye kur serveri fillimisht nisi dhe mati duke përdorur DevTools; pas marrjes së rezultatit, serveri u fiket dhe u kthye në pikën e mëparshme të kontrollit për të eliminuar shfaqjen e çdo lloji të memories.

Testuesi dhe serveri në internet ishin në të njëjtin host dhe në të njëjtin ndërprerës virtual.

Për të vlerësuar menjëherë nënsistemin e diskut, rezultatet e standardeve ATTO dhe CrystalDIskMark në mënyrë që të keni një ide për pengesat.

Të dhënat e marra nga makina virtuale:Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:

Rezultatet:

TTFB:

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
TTFB mesatare për IIS është më e vogla, 0,5ms, kundrejt 1,4ms për Apache dhe 4ms për Nginx.

Xhiroja:

Së pari, le të shohim se sa mirë shkallëzohet secili server bazuar në numrin e bërthamave.

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Grafiku tregon numrin e thirrjeve të testuesit në serverin e uebit dhe vonesën. Grafiku tregon se NGINX përpunoi 98% të të gjitha kërkesave, duke e dorëzuar faqen në 20 ms ose më pak. IIS, si Apache, përfundoi 5% të fundit të të gjitha thirrjeve në 76ms dhe 14ms, respektivisht.

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Grafiku tregon kohën mesatare të përpunimit për një kërkesë gjatë një testi stresi.

Siç mund ta shihni nga grafikët, IIS shpërtheu si Apache ashtu edhe Nginx, duke u ngadalësuar ndjeshëm nën ngarkesë të lartë. 

IIS preferoi qartë 4 bërthama mbi XNUMX, duke treguar vonesa më të ulëta në XNUMX, por gjithashtu nuk favorizonte fort një bërthamë.

NGINX shkallëzohet mirë në të 8 bërthamat, dhe për Apache, skenari me një bërthamë duket të jetë zgjidhja më e mirë.

Shkallëzueshmëria:

nginx:

Tani le të shohim shkallëzueshmërinë për sa i përket frekuencës dhe numrit të bërthamave. 

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Nginx nuk kaloi teste me një kufi prej 1% për 4 dhe 1 bërthama; kur tejkaloi 2000 kërkesa, ndërpreu lidhjen me testuesin.

Apache:

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Apache, si Nginx, pasi kishte përpunuar 2500 kërkesa, hoqi dorë dhe mbylli lidhjen. Apache dështoi në testin në 8, 4 dhe 1 bërthama me një kufi prej 1%, por përveç kësaj dështoi edhe testin me një kufi prej 5% në një bërthamë, që është më keq se Nginx

IIS:

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Gjatë testeve, IIS grumbulloi një radhë gjigante kërkesash, por përpunoi secilën prej tyre. Me sa duket, jashtë kutisë nuk ka afate të caktuara për përpunimin e kërkesave.

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Grafiku tregon kohën e nevojshme për të përfunduar testin. Konfigurimet plotësisht absurde të testimit u hodhën poshtë. Diagrami tregon se sa kërkuese është IIS kur bëhet fjalë për harduerin dhe sa i mrekullueshëm është NGINX.

Shkallueshmëria nga disku:

nginx:

Tani le të shohim shkallëzueshmërinë për sa i përket frekuencës dhe numrit të bërthamave dhe shpejtësisë së diskut. 

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Këtë herë Nginx dështoi në 4 teste në vend të dy.

Apache:

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
Apache dështoi në të njëjtin numër testesh si herën e kaluar.

IIS:

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:
IIS tregon një grafik pothuajse identik, sikur të mos kishte kufizime në disk. Në përgjithësi, grafika e të gjithë serverëve nuk ka ndryshuar shumë, që do të thotë se secili prej tyre ka ruajtur të dhënat statike në RAM dhe i ka shërbyer prej andej. Këtu shohim pengesën kryesore - vetë serverin në internet.

Është shumë herët për të nxjerrë përfundime bazuar në këtë testim; ne nuk kemi testuar ende HTTPS, kompresimin dhe HTTP/2 me një certifikatë të drejtpërdrejtë nga Let's Encrypt. Ne do të flasim për këtë në artikullin vijues.

Beteja e serverëve WEB. Pjesa 1 – HTTP jashtë kontaktit:

Burimi: www.habr.com

Shto një koment