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.
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.
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:
Zotsatira:
TTFB:
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.
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.
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.
Nginx sinayesere mayeso ndi malire a 1% kwa 4 ndi 1 cores; itadutsa zopempha za 2000, idathetsa kulumikizana ndi woyesa.
Apache:
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:
Pamayeso, IIS idasonkhanitsa zopempha zambiri koma zidakonza chilichonse. Mwachiwonekere, kunja kwa bokosilo palibe nthawi yokhazikika yokonzekera pempho.
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.
Nthawi ino Nginx adalephera mayeso a 4 m'malo mwa awiri.
Apache:
Apache adalephera mayeso omwewo monga nthawi yapitayi.
IIS:
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.
Source: www.habr.com