Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:

M'nkhaniyi tiyesa dzanja lathu pa engineering reverse, wina anganene. Tiyika manja athu odetsedwa pansi pa seva iliyonse yapaintaneti, kuwadyera masuku pamutu m'njira zomwe palibe amene angawagwiritse ntchito.

Mayesowa ndi muyeso wa kavalo wozungulira m'chipinda chopanda kanthu, palibe china chilichonse koma deta yomwe idapezedwa, ndipo tsopano sitikudziwa choti tichite nayo.

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:

Njira

Makina ogwiritsira ntchito a Nginx ndi Apache ndi Ubuntu 18.04 LTS, a IIS Windows Server Core 2019. Mayeso asanachitike, makina onse opangira opaleshoni adalandira zosintha zaposachedwa kuyambira pa Disembala 04.12.2019, XNUMX.

Mayeso adachitidwa pa HTTP yokha. Seva iliyonse yapaintaneti imakhala ndi tsamba lomwelo, template yaulere ya Jekyll kuchokera ku Codrops. kugwirizana. Seva iliyonse yapaintaneti inali ndi kukanikiza kwa gzip kozimitsa.

Mayeso opitilira adachitidwa ndi zida za Httpd ndi zotsutsana:

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

Ma seva anali ochepa pa 10, 5, ndi 1 peresenti ya pachimake pa 8, 4, ndi pachimake chimodzi. Benchi yoyesera inali kompyuta yokhala ndi 9900K@5400MHz, zomwe zikutanthauza kuti seva yomwe imalandira malire a 10% imalandira pafupifupi 540MHz pachimake.

Mayeso a TTFB adachitika pomwe seva idayamba kuyambika ndikuyezetsa pogwiritsa ntchito DevTools; atalandira zotsatira, seva idazimitsidwa ndikubwezeredwa kumalo ofufuzira am'mbuyomu kuti athetse mawonekedwe amtundu uliwonse wa cache.

Woyesa ndi seva yapaintaneti anali pagulu lomwelo komanso pakusintha komweko.

Kuti muwunike mwachangu kachitidwe ka disk, zotsatira za benchmarks za ATTO ndi CrystalDIskMark kuti mukhale ndi lingaliro lazovuta.

Zomwe zatengedwa pamakina apakompyuta:Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:

Zotsatira:

TTFB:

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
TTFB yapakati pa IIS ndiyo yaying'ono kwambiri, 0,5ms, motsutsana ndi 1,4ms ya Apache ndi 4ms ya Nginx.

Zotsatira:

Choyamba, tiyeni tiwone momwe seva iliyonse imakulira bwino potengera kuchuluka kwa ma cores.

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Chithunzichi chikuwonetsa kuchuluka kwa mafoni oyesa ku seva yapaintaneti ndi latency. Grafu ikuwonetsa kuti NGINX idakonza 98% ya zopempha zonse, ndikupereka tsambalo mu 20ms kapena kuchepera. IIS, monga Apache, inamaliza 5% yomaliza ya mafoni onse mu 76ms ndi 14ms, motsatira.

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Grafu ikuwonetsa nthawi yokwanira yopangira pempho limodzi panthawi ya mayeso opsinjika.

Monga mukuwonera pazithunzi, IIS idawombera Apache ndi Nginx, ndikuchepetsa kwambiri pansi pa katundu wambiri. 

IIS imakonda kwambiri ma cores 4 kuposa XNUMX, kuwonetsa kuchepa kwa XNUMX, komanso sikukonda kwambiri pachimake chimodzi.

NGINX masikelo bwino pamitundu yonse ya 8, ndipo kwa Apache, mawonekedwe amtundu umodzi akuwoneka kuti ndiye chisankho chabwino kwambiri.

Scalability:

Nginx:

Tsopano tiyeni tiwone scalability malinga ndi pafupipafupi komanso kuchuluka kwa ma cores. 

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Nginx sinayesere mayeso ndi malire a 1% kwa 4 ndi 1 cores; itadutsa zopempha za 2000, idathetsa kulumikizana ndi woyesa.

Apache:

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Apache, monga Nginx, atakonza zopempha za 2500, anasiya ndikutseka chiyanjano. Apache adalephera mayeso pa 8, 4 ndi 1 cores ndi malire a 1%, koma kuwonjezera apo adalepheranso mayeso ndi malire a 5% pachikatikati chimodzi, chomwe ndi choyipa kuposa Nginx.

IIS:

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Pamayeso, IIS idasonkhanitsa zopempha zambiri koma zidakonza chilichonse. Mwachiwonekere, kunja kwa bokosilo palibe nthawi yokhazikika yokonzekera pempho.

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Tchaticho chikuwonetsa nthawi yomwe idatenga kuti amalize mayeso. Zosintha zoyesa zopanda pake zidatayidwa. Chithunzichi chikuwonetsa momwe IIS imafunikira kwambiri pankhani ya Hardware, komanso momwe NGINX ilili yodabwitsa.

Kuchuluka kwa disk:

Nginx:

Tsopano tiyeni tiwone scalability malinga ndi pafupipafupi komanso kuchuluka kwa ma cores ndi liwiro la disk. 

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Nthawi ino Nginx adalephera mayeso a 4 m'malo mwa awiri.

Apache:

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
Apache adalephera mayeso omwewo monga nthawi yapitayi.

IIS:

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:
IIS ikuwonetsa chithunzi chofanana, ngati kuti palibe zoletsa za disk. Kawirikawiri, zithunzi za ma seva onse sizinasinthe kwambiri, zomwe zikutanthauza kuti aliyense wa iwo adasunga deta yosasunthika mu RAM ndikuyitumikira kuchokera kumeneko. Apa tikuwona cholepheretsa chachikulu - seva yapaintaneti yokha.

Ndikochedwa kwambiri kuti titsimikize potengera kuyesaku; sitinayesebe HTTPS, compression ndi HTTP/2 ndi satifiketi yamoyo yochokera ku Let's Encrypt. Tikambirana zimenezi m’nkhani yotsatira.

Nkhondo ya ma seva a WEB. Gawo 1 - HTTP yatha:

Source: www.habr.com

Kuwonjezera ndemanga