Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:

Muchikamu chino tichaedza ruoko rwedu kune reverse engineering, mumwe angati. Tichaisa maoko edu akasviba pasi pehodhi yega yega sevha yewebhu, tichiashandisa nenzira idzo hapana angazombobiridzira.

Muedzo uyu chiyero chebhiza rakatenderera mune vacuum, hapana chimwe kunze kweiyo data yakawanikwa, uye ikozvino hatizive zvekuita nayo.

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:

Maitiro

Iyo inoshanda sisitimu yeNginx neApache ndeye Ubuntu 18.04 LTS, yeIIS Windows Server Core 2019. Miedzo isati yaitwa, masisitimu ese anoshanda akagamuchira zvigadziriso zvemusi wa04.12.2019 Zvita XNUMX.

Miedzo yakaitwa pamusoro peHTTP chete. Yese sevha yewebhu yakamhanya peji rimwe chete, yemahara Jekyll template kubva kuCodrops. batanidzo. Sevha yega yega yewebhu yaive ne gzip compression yakadzimwa.

Muedzo wekupinda wakaitwa neHttpd-zvishandiso zvine nharo:

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

Masevha aive akaganhurirwa ku10, 5, uye 1 muzana yepakati pa8, 4, uye imwe musimboti. Bhenji rekuyedza raive komputa ine 9900K@5400MHz, zvinoreva kuti sevha inogamuchira gumi muzana inogashira inenge 10MHz pamusimboti.

Muedzo weTTFB wakaitwa sevha payakatanga kubhowa uye kuyerwa ichishandisa DevTools; mushure mekugamuchira mhedzisiro, sevha yakavharwa uye yakadzoserwa kumashure kune yakapfuura cheki kuti ibvise kutaridzika kwechero rudzi rwecache.

Muedzi newebhu server vaive pane imwechete saiti uye pane imwechete virtual switch.

Kuti uongorore nekukurumidza disk subsystem, mhedzisiro yeATTO uye CrystalDIskMark mabhenji kuitira kuti uve nemafungiro emabhodhoro.

Data yakatorwa kubva muchina wevirtual:Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:

Mhinduro:

TTFB:

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Avhareji TTFB yeIIS ndiyo idiki, 0,5ms, maringe ne1,4ms yeApache uye 4ms yeNginx.

Kuburitsa:

Kutanga, ngatitarisei kuti sevha yega yega inoyera sei zvichienderana nehuwandu hwemacores.

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Iyo girafu inoratidza nhamba yevanoedza kufona kuwebhu server uye latency. Girafu inoratidza kuti NGINX yakagadzirisa 98% yezvikumbiro zvose, kuendesa saiti mu20ms kana pasi. IIS, seApache, yakapedzisa yekupedzisira 5% yemafoni ese mu76ms uye 14ms, zvichiteerana.

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Girafu inoratidza avhareji yekugadzirisa nguva yechikumbiro chimwe panguva yekunetseka kwekunetseka.

Sezvauri kuona kubva kumagirafu, IIS yakafuridza Apache neNginx, ichidzika pasi zvakanyanya pasi pemutoro wakakwira. 

IIS yakanyatso sarudza 4 cores pamusoro peXNUMX, ichiratidza yakaderera latencies paXNUMX, asi zvakare haina kufarira zvakanyanya musimboti mumwe.

NGINX zviyero zvakanaka kune ese 8 cores, uye yeApache, imwechete-musimboti mamiriro anoita senge sarudzo yakanyanya kunaka.

Scalability:

nginx:

Zvino ngatitarisei scalability maererano nehuwandu uye huwandu hwemacores. 

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Nginx haina kupasa bvunzo ine muganho we1% ye4 uye 1 cores; payakapfuura zvikumbiro zve2000, yakamisa kubatana nemuyedzi.

Apache:

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Apache, senge Nginx, yagadzirisa zvikumbiro zve2500, yakakanda mapfumo pasi uye yakavhara kubatana. Apache yakatadza bvunzo pa8, 4 uye 1 cores ine muganhu we1%, asi nekuwedzera yakatadza bvunzo ine 5% muganho pane imwe core, iyo yakaipa kupfuura Nginx.

IIS:

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Munguva yekuedzwa, IIS yakaunganidza mutsetse wakakura wezvikumbiro asi yakagadzirisa chimwe nechimwe chazvo. Sezviri pachena, kunze kwebhokisi hapana nguva dzekubuda dzakatarwa pakukumbira kugadziriswa.

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Chati inoratidza nguva yayakatora kupedza bvunzo. Zvirongwa zvekuedza zvisina musoro zvachose zvakaraswa. Dhiagiramu inoratidza kuti IIS inoda sei kana zvasvika kune Hardware, uye inoshamisa sei NGINX.

Scalability kubva kudhisiki:

nginx:

Zvino ngatitarisei scalability maererano nehuwandu uye huwandu hwemacores uye disk kumhanya. 

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Panguva ino Nginx yakakundikana 4 bvunzo pane maviri.

Apache:

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
Apache yakundikana nhamba imwechete yebvunzo senguva yekupedzisira.

IIS:

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:
IIS inoratidza girafu rakada kufanana, sekunge pakanga pasina zvirambidzo zvedhisiki. Kazhinji, magiraidhi emasevha ese haana kuchinja zvakanyanya, zvinoreva kuti imwe neimwe yadzo yakavharira static data mu RAM uye yakashanda kubva ipapo. Pano tinoona bhodhoro guru - web server pachayo.

Kuchiri kukasika kutora mhedziso zvichienderana nekuyedzwa uku; hatisati tayedza HTTPS, compression uye HTTP/2 nechitupa chehupenyu kubva kuLet Encrypt. Tichataura nezvazvo munyaya inotevera.

Hondo yeWEB maseva. Chikamu 1 - HTTP kunze kwekubata:

Source: www.habr.com

Voeg