Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:

Ato amin'ity lahatsoratra ity isika dia hanandrana ny tanantsika amin'ny reverse engineering, hoy ny olona iray. Hataonay eo ambanin'ny saron'ny mpizara tranonkala tsirairay ny tananay maloto, hitrandraka azy ireo amin'ny fomba izay tsy hisy hitrandraka mihitsy.

Ity fitsapana ity dia fandrefesana soavaly boribory ao anaty banga, tsy misy afa-tsy angon-drakitra azo, ary ankehitriny tsy fantatsika izay tokony hatao amin'izany.

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:

teknika

Ny rafitra miasa ho an'ny Nginx sy Apache dia Ubuntu 18.04 LTS, ho an'ny IIS Windows Server Core 2019. Talohan'ny fitsapana, ny rafitra fandidiana rehetra dia nahazo ny fanavaozana farany tamin'ny 04.12.2019 Desambra XNUMX.

Ny fitsapana dia natao tamin'ny HTTP irery ihany. Ny mpizara tranonkala tsirairay dia nihazakazaka pejy iray ihany, maodely Jekyll maimaim-poana avy amin'ny Codrops. rohy. Ny mpizara tranonkala tsirairay dia manana famandrihan'ny gzip tsy voafehy.

Ny fitsapana throughput dia natao tamin'ny Httpd-tools miaraka amin'ny tohan-kevitra:

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

Ny mpizara dia voafetra ho 10, 5, ary 1 isan-jaton'ny fototra amin'ny 8, 4, ary ny fototra iray. Ny dabilio fitsapana dia solosaina misy 9900K@5400MHz, izay midika fa ny mpizara mahazo fetra 10% dia mahazo manodidina ny 540MHz isaky ny core.

Ny fitsapana TTFB dia natao tamin'ny fotoana voalohany nisian'ny mpizara sy norefesiny tamin'ny fampiasana DevTools, rehefa nahazo ny valiny, dia nesorina ny mpizara ary naverina tany amin'ny toeram-pisavana teo aloha mba hanafoanana ny endriky ny karazana cache.

Ny tester sy ny mpizara tranonkala dia tao amin'ny mpampiantrano iray ary tamin'ny virtoaly iray ihany.

Mba hanombanana avy hatrany ny subsystem kapila, ny valin'ny ATTO sy CrystalDIskMark mba hahazoana hevitra momba ny bottlenecks.

Data nalaina tamin'ny milina virtoaly:Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:

valiny:

TTFB:

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Ny salan'isa TTFB ho an'ny IIS no kely indrindra, 0,5ms, mifanohitra amin'ny 1,4ms ho an'ny Apache ary 4ms ho an'ny Nginx.

Famindrana:

Voalohany, andeha hojerentsika hoe hatraiza ny mizana ny mpizara tsirairay mifototra amin'ny isan'ny cores.

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Ny tabilao dia mampiseho ny isan'ny antson'ny mpanandrana mankany amin'ny mpizara tranonkala sy ny fahatarana. Ny tabilao dia mampiseho fa ny NGINX dia namatsy ny 98% amin'ny fangatahana rehetra, manolotra ny tranokala amin'ny 20ms na latsaka. IIS, toa an'i Apache, dia nahavita ny 5% farany tamin'ny antso rehetra tamin'ny 76ms sy 14ms, tsirairay avy.

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Ny tabilao dia mampiseho ny salan'ny fotoana fikarakarana ho an'ny fangatahana iray mandritra ny fitsapana adin-tsaina.

Araka ny hitanao amin'ny grafika, ny IIS dia nanapoaka an'i Apache sy Nginx, nihena be noho ny enta-mavesatra. 

Ny IIS dia nisafidy ny cores 4 noho ny XNUMX, izay mampiseho ny fetra ambany kokoa amin'ny XNUMX, saingy tsy mankasitraka ny fototra iray ihany koa.

Ny NGINX dia mizana tsara manerana ny cores 8 rehetra, ary ho an'i Apache, ny sehatra tokana tokana dia toa ny safidy tsara indrindra.

Scalability:

nginx:

Andeha hojerentsika ny scalability amin'ny resaka matetika sy ny isan'ny cores. 

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Ny Nginx dia tsy nandalo fitsapana tamin'ny fetra 1% ho an'ny cores 4 sy 1 rehefa nihoatra ny fangatahana 2000, dia namarana ny fifandraisana tamin'ny tester.

Apache:

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Apache, toa an'i Nginx, rehefa nahavita fangatahana 2500, dia nandao sy nanakatona ny fifandraisana. Apache dia tsy nahomby tamin'ny fitsapana tamin'ny 8, 4 ary 1 cores miaraka amin'ny fetra 1%, fa ankoatra izany dia tsy nahomby tamin'ny fitsapana ihany koa izy tamin'ny fetra 5% amin'ny fototra iray, izay ratsy kokoa noho ny Nginx

II:

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Nandritra ny andrana, nanangona filaharana goavana be ny IIS saingy nokarakarain'izy ireo tsirairay avy. Raha ny fahitana azy dia tsy misy fe-potoana voafetra ho an'ny fanodinana ny fangatahana.

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Ny tabilao dia mampiseho ny fotoana nilana ny fanadinana. Nesorina ireo tefy fitiliana tsy mitombina tanteraka. Ny kisary dia mampiseho ny fitakiana ny IIS raha ny momba ny fitaovana, ary ny hatsaran'ny NGINX.

Scalability avy amin'ny kapila:

nginx:

Andeha hojerentsika ny scalability amin'ny resaka matetika sy ny isan'ny cores ary ny hafainganam-pandehan'ny kapila. 

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Tamin'ity indray mitoraka ity i Nginx dia tsy nahomby tamin'ny fitsapana 4 fa tsy roa.

Apache:

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
Apache dia tsy nahomby tamin'ny isan'ny fitsapana tamin'ny fotoana farany.

II:

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:
IIS dia mampiseho grafika saika mitovy, toy ny hoe tsy misy famerana ny kapila. Amin'ny ankapobeny, ny sarin'ny mpizara rehetra dia tsy niova firy, izay midika fa ny tsirairay amin'izy ireo dia nitahiry ny angona static ao amin'ny RAM ary nanompo azy avy teo. Eto isika dia mahita ny olana lehibe indrindra - ny web server mihitsy.

Mbola aloha loatra ny fanatsoahan-kevitra mifototra amin'ity fitsapana ity; Hiresaka momba izany isika ao amin’ny lahatsoratra manaraka.

Adin'ny mpizara WEB. Fizarana 1 - HTTP tsy misy fifandraisana:

Source: www.habr.com

Add a comment