Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:

Hauv tsab xov xwm no peb yuav sim peb txhais tes ntawm kev rov qab engineering, ib tus yuav hais. Peb yuav tau txais peb txhais tes qias neeg nyob rau hauv lub hood ntawm txhua lub web server, siv lawv nyob rau hauv txoj kev uas tsis muaj leej twg yuav siv tau.

Qhov kev ntsuam xyuas no yog kev ntsuas ntawm tus nees kheej kheej hauv lub tshuab nqus tsev, tsis muaj dab tsi ntau tshaj li cov ntaub ntawv uas tau txais, thiab tam sim no peb tsis paub yuav ua li cas rau nws.

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:

Txoj kev

Qhov kev khiav hauj lwm rau Nginx thiab Apache yog Ubuntu 18.04 LTS, rau IIS Windows Server Core 2019. Ua ntej kev sim, txhua qhov kev khiav hauj lwm tau txais qhov hloov tshiab tshiab thaum lub Kaum Ob Hlis 04.12.2019, XNUMX.

Kev ntsuam xyuas tau ua dhau los ntawm HTTP. Txhua lub vev xaib server khiav tib nplooj ntawv, Jekyll template dawb los ntawm Codrops. txuas. Txhua lub vev xaib server muaj gzip compression xiam oob qhab.

Qhov kev xeem dhau los tau ua tiav nrog Httpd-cov cuab yeej nrog cov lus sib cav:

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

Cov servers raug txwv rau 10, 5, thiab 1 feem pua ​​​​ntawm cov tub ntxhais ntawm 8, 4, thiab ib qho tseem ceeb. Lub rooj zaum xeem yog lub khoos phis tawj nrog 9900K @ 5400MHz, uas txhais tau hais tias lub server tau txais 10% txwv tau txais txog 540MHz ib core.

Qhov kev sim TTFB tau ua tiav thaum lub server thawj zaug thiab ntsuas siv DevTools; tom qab tau txais qhov tshwm sim, tus neeg rau zaub mov raug muab tua thiab dov rov qab mus rau qhov chaw kuaj xyuas yav dhau los txhawm rau tshem tawm cov tsos ntawm txhua yam caches.

Tus tester thiab lub vev xaib server tau nyob ntawm tib tus tswv tsev thiab ntawm tib lub hloov pauv virtual.

Txhawm rau ntsuas qhov system subsystem tam sim ntawd, cov txiaj ntsig ntawm ATTO thiab CrystalDIskMark benchmarks kom muaj lub tswv yim ntawm cov fwj.

Cov ntaub ntawv muab los ntawm lub tshuab virtual:Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:

Cov txiaj ntsig:

TTFB:

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Qhov nruab nrab TTFB rau IIS yog qhov tsawg tshaj plaws, 0,5ms, piv rau 1,4ms rau Apache thiab 4ms rau Nginx.

Tawm tswv yim:

Ua ntej, cia saib zoo npaum li cas txhua tus neeg rau zaub mov ntsuas raws li tus naj npawb ntawm cov cores.

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Daim duab qhia tus naj npawb ntawm cov neeg kuaj hu rau lub vev xaib server thiab latency. Daim duab qhia tau hais tias NGINX ua tiav 98% ntawm txhua qhov kev thov, xa lub xaib hauv 20ms lossis tsawg dua. IIS, zoo li Apache, ua tiav 5% kawg ntawm txhua qhov kev hu hauv 76ms thiab 14ms, feem.

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Daim duab qhia txog lub sijhawm ua haujlwm nruab nrab rau ib qho kev thov thaum lub sijhawm ntsuas kev ntxhov siab.

Raws li koj tuaj yeem pom los ntawm cov duab, IIS tau tawg ob qho tib si Apache thiab Nginx, ua rau qeeb qeeb hauv kev thauj khoom siab. 

IIS kom meej meej nyiam 4 cores tshaj XNUMX, qhia qis latencies ntawm XNUMX, tab sis kuj tsis nyiam ib qho tseem ceeb.

NGINX ntsuas tau zoo hla txhua 8 cores, thiab rau Apache, qhov xwm txheej ib leeg zoo li yog qhov kev xaiv zoo tshaj plaws.

Scalability:

Nginx:

Tam sim no cia saib scalability nyob rau hauv cov nqe lus ntawm zaus thiab tus naj npawb ntawm cov cores. 

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Nginx tsis dhau qhov kev xeem nrog qhov txwv ntawm 1% rau 4 thiab 1 cores; thaum nws dhau 2000 qhov kev thov, nws tau txiav qhov kev sib txuas nrog tus ntsuas.

Apache:

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Apache, zoo li Nginx, tau ua tiav 2500 qhov kev thov, tso tseg thiab kaw qhov kev sib txuas. Apache ua tsis tiav qhov kev xeem ntawm 8, 4 thiab 1 cores nrog qhov txwv ntawm 1%, tab sis ntxiv rau nws kuj ua tsis tau qhov kev xeem nrog 5% txwv ntawm ib qho tseem ceeb, uas yog phem dua li Nginx.

IIS:

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Thaum lub sij hawm xeem, IIS tau sau ib qho loj heev ntawm kev thov tab sis ua tiav lawv txhua tus. Thaj, tawm ntawm lub thawv tsis muaj sijhawm teem sijhawm rau kev thov ua haujlwm.

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Daim ntawv qhia qhia lub sijhawm nws siv los ua kom tiav qhov kev xeem. Ua tiav qhov kev sim ntsuas qhov teeb meem raug muab pov tseg. Daim duab qhia tias xav tau IIS li cas thaum nws los txog rau kho vajtse, thiab NGINX zoo npaum li cas.

Scalability ntawm disk:

Nginx:

Tam sim no cia saib scalability nyob rau hauv cov nqe lus ntawm zaus thiab tus naj npawb ntawm cores thiab disk ceev. 

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Lub sijhawm no Nginx ua tsis tau 4 qhov kev xeem tsis yog ob.

Apache:

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
Apache ua tsis tau zoo tib yam ntawm cov kev xeem raws li lub sijhawm dhau los.

IIS:

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:
IIS qhia ib daim duab yuav luag zoo ib yam, zoo li tsis muaj kev txwv disk. Feem ntau, cov duab ntawm tag nrho cov servers tsis hloov ntau, uas txhais tau hais tias txhua tus ntawm lawv cached cov ntaub ntawv zoo li qub hauv RAM thiab ua haujlwm los ntawm qhov ntawd. Ntawm no peb pom lub ntsiab bottleneck - lub web server nws tus kheej.

Nws tseem ntxov dhau los kos cov lus xaus raws li qhov kev sim no; peb tseem tsis tau sim HTTPS, compression thiab HTTP / 2 nrog daim ntawv pov thawj nyob ntawm Let's Encrypt. Peb mam li tham txog qhov no hauv tsab xov xwm tom ntej.

Sib ntaus sib tua ntawm WEB servers. Part 1 - HTTP tawm ntawm kov:

Tau qhov twg los: www.hab.com

Ntxiv ib saib