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.
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.
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:
Cov txiaj ntsig:
TTFB:
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.
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.
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.
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:
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:
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.
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.
Lub sijhawm no Nginx ua tsis tau 4 qhov kev xeem tsis yog ob.
Apache:
Apache ua tsis tau zoo tib yam ntawm cov kev xeem raws li lub sijhawm dhau los.
IIS:
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.
Tau qhov twg los: www.hab.com