
Meetodist rÀÀkisime artiklis, siin testime HTTPS-i, kuid realistlikumates stsenaariumites. Testimiseks saadi Letâs Encrypt sertifikaat, rakendati Brotli tihendust 11-l.
Seekord proovime luua serveri paigaldamise stsenaariumi VDS-is vĂ”i virtuaalmasinana hostis, millel on tĂŒĂŒpiline protsessor. Selleks seadsime limiidiks:
- 25% â mis vastab sagedusele ~ 1350MHz
- 35% - 1890MHz
- 41% â 2214MHz
- 65% â 3510MHz
Samal ajal vĂ€henes samaaegsete ĂŒhenduste arv 500-lt 1, 3, 5, 7 ja 9-le,
Tulemused:
Viivitused:
TTFB eraldi testina, kuna HTTPD Tools loob iga jĂ€lgimise jaoks tegelikult uue kasutaja. See test on endiselt piisavalt kaugel reaalsusest, kuna mĂ”ned lehed, mida kasutaja ikkagi kĂŒlastab, ja tegelikus elus mĂ€ngib peamist rolli TTFP.

Esimene, kÔige esimene pÀring pÀrast virtuaalmasina IIS esimest kÀivitamist, kestab keskmiselt 120 ms.

KÔik jÀrgnevad pÀringud nÀitavad TTFP-d 1,5 ms. Apache ja Nginx jÀÀvad siin maha. Isiklikult peab autor seda testi kÔige kÔnekamaks ja valida saaks vÔitjat ainult selle pÔhjal.
Tulemus ei ole ĂŒllatav, kuna IIS salvestab juba tihendatud staatilise sisu ja ei tihenda seda iga kord, kui sellele pöördutakse.
Aega, mis kulus ĂŒhe kliendi jaoks
Efektiivsuse hindamiseks piisab ĂŒhest ainulaadsest ĂŒhendusest.
NÀiteks lÔpetas IIS 5000 kasutaja testimise 40 sekundiga, see on 123 pÀringut sekundis.
Allpool olevatel joonistel on nÀidatud aega, mille jooksul veebisaidi sisu tÀielikult edastatakse. See on osa pÀringutest, mis töötati teatud aja jooksul. Meie juhul töötati 80% kÔigist pÀringutest 8 ms jooksul IIS-is ja 4,5 ms jooksul Apache ja Nginx-is, samas kui vahemiku jooksul 8 millisekundit töötati 98% kÔigist pÀringutest Apache ja Nginx-is.

Aeg, mille jooksul 5000 pÀringut töödeldi:


Aeg, mille jooksul 5000 pÀringut töödeldi:

Kui teil on virtuaalmasin sagedusega 3,5 GHz ja 8 tuumaga, siis valige, mida soovite. KÔik veebiserverid on selles testimises vÀga sarnased. Millist veebiserverit igale hostile valida, rÀÀgime allpool.
Kui rÀÀkida veidi rohkem reaalsest olukorrast, lÀhevad kÔik veebiserverid ninapidi kokku.
LÀbilaskevÔime:
Viivituste graafik samaaegsete ĂŒhenduste arvust. Ăhtlasem ja madalam â parem. Viimased 2% jĂ€eti graafikutest vĂ€lja, kuna need muudaksid need loetamatuks.



NĂŒĂŒd vaatame varianti, kus server asub virtuaalses hostimises. VĂ”tame 4 tuuma 2,2 GHz ja ĂŒhe tuuma 1,8 GHz.






Kuidas skaleeritakse
Kui olete kunagi nĂ€inud, kuidas nĂ€evad vĂ€lja elektrovakuumtriod, pentoodid jne, siis need graafikud on teile tuttavad. Just seda me ĂŒritame tabada â kĂŒllastus. Piir, kus palju tuumasid pole, ei pruugi jĂ”udlust olla mĂ€rgatavate muutustega.
Varasemalt seisnes kogu vĂ€ljakutse 98% pĂ€ringute töötlemises, omades kĂ”igi pĂ€ringute jooksul vĂ”imalikult madalat viivitust, hoides kĂ”verat ĂŒhtlasena. NĂŒĂŒd, edasi liikudes, leiame iga serveri jaoks optimaalse tööpunkti, luues teise kĂ”vera.
Selle jaoks vĂ”tame nĂ€itaja Requests per second (RPR). Horisontaalselt sagedus, vertikaalselt â sekundis töödeldud pĂ€ringute arv, jooned â tuumade arv.

NÀidatud korrelatsioon, kui hÀsti Nginx töötleb pÀringuid jÀrjestikku. 8 tuuma sellises testimises nÀitavad end paremini.

Sellel graafikul on hĂ€sti nĂ€ha, kui palju paremini (mitte palju) Nginx töötab ĂŒhel tuumal. Kui teil on Nginx, siis tasub kaaluda tuumade arvu vĂ€hendamist ĂŒhele, kui hostite ainult staatilist sisu.



Kuigi IIS-l on Chrome'i DevTools arvates madalaim TTFB, suudab see kaotada Nginx-ile ja Apache-le tÔsises stressitestides Apache Foundationilt.

Kogu graafikute kumerus on arusaadavalt olemas.
Oma laadset jÀreldust:
Jah, Apache töötab sÔltumatult 1 ja 8 tuumaga halvemini, samas kui 4 tuumaga töötab veidi paremini.
Jah, Nginx töötleb paremini pĂ€ringuid 8 tuumaga jĂ€rjestikku, kuid 1 ja 4 tuumaga töötab halvemini, kui ĂŒhendusi on palju.
Jah, IIS eelistab 4 tuuma mitme koolutuse koormuse puhul ja 8 tuuma ĂŒhetuuma korral. LĂ”puks osutus IIS veidi kiiremaks, kui 8 tuuma all kĂ”rge koormuse korral, kuigi kĂ”ik serverid olid tasakaalus.
See pole mÔÔtmise viga, veaulatuses on viivitustes mitte ĂŒle ±1ms ja mitte ĂŒle ±2-3 pĂ€ringu sekundis RPR jaoks.
Tulemused, kui 8 tuuma töötab halvasti, pole sugugi ĂŒllatavad, kuna palju tuumasid ja SMT/Hyperthreading halvendavad tĂ”husust, kui me peame enne kogu torujuhtme lĂ”petamist jÀÀma ajaraamidesse.
Allikas: habr.com
