QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo

QUIC raws tu qauv yog qhov nthuav heev los saib, uas yog vim li cas peb nyiam sau txog nws. Tab sis yog tias cov ntawv tshaj tawm yav dhau los hais txog QUIC yog cov keeb kwm yav dhau los (keeb kwm hauv zos, yog tias koj nyiam) xwm txheej thiab kho vajtse, hnub no peb zoo siab tshaj tawm cov kev txhais lus ntawm lwm hom - peb yuav tham txog kev siv tiag tiag ntawm cov txheej txheem hauv 2019. Tsis tas li ntawd, peb tsis tau tham txog kev tsim kho me me raws li lub npe hu ua chaw nres tsheb, tab sis hais txog Uber, uas ua haujlwm yuav luag thoob plaws ntiaj teb. Yuav ua li cas lub tuam txhab engineers tuaj rau kev txiav txim siab siv QUIC hauv kev tsim khoom, lawv ua li cas cov kev xeem thiab lawv pom dab tsi tom qab dov nws tawm hauv kev tsim khoom - hauv qab qhov txiav.

Cov duab yog clickable. Txaus siab rau kev nyeem ntawv!

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo

Uber muaj qhov ntsuas thoob ntiaj teb, uas yog 600 lub nroog muaj nyob, nyob rau hauv txhua qhov ntawm daim ntawv thov tso siab rau hauv wireless Internet los ntawm ntau dua 4500 tus neeg siv xov tooj ntawm tes. Cov neeg siv xav tias lub app yuav tsis yog nrawm, tab sis nyob rau lub sijhawm tiag tiag - kom ua tiav qhov no, Uber app xav tau qis latency thiab kev sib txuas zoo heev. Alas, tab sis pawg HTTP / 2 tsis ua zoo nyob rau hauv dynamic thiab poob-nrhiav wireless networks. Peb pom tau hais tias nyob rau hauv cov ntaub ntawv no, tsis tshua muaj kev ua tau zoo yog ncaj qha cuam tshuam rau TCP kev siv nyob rau hauv lub operating system kernels.

Txhawm rau daws qhov teeb meem, peb thov QUIC, niaj hnub channel multiplexing raws tu qauv uas ua rau peb tswj tau ntau dua kev ua haujlwm ntawm kev thauj mus los. Tam sim no pab pawg ua haujlwm IETF standardizes QUIC as HTTP / 3.

Tom qab kev sim dav dav, peb xaus lus tias kev siv QUIC hauv peb daim ntawv thov yuav ua rau qis qis qis dua piv rau TCP. Peb tau pom qhov txo qis ntawm 10-30% rau HTTPS tsheb khiav hauv cov neeg tsav tsheb thiab cov neeg caij tsheb. QUIC kuj tau muab peb qhov kawg-rau-kawg tswj cov neeg siv pob khoom.

Hauv tsab xov xwm no, peb qhia peb cov kev paub dhau los hauv kev ua kom zoo dua TCP rau Uber daim ntawv thov siv ib pawg uas txhawb nqa QUIC.

Qhov tseeb technology: TCP

Niaj hnub no, TCP yog cov txheej txheem thauj khoom siv tshaj plaws rau kev xa HTTPS tsheb khiav hauv Is Taws Nem. TCP muab cov kwj ntawm cov bytes txhim khu kev qha, yog li tiv thaiv kev sib koom ua ke ntawm lub network thiab txuas txheej poob. Kev siv dav dav ntawm TCP rau HTTPS kev khiav tsheb yog vim yog qhov qub tshaj plaws (yuav luag txhua OS muaj TCP), muaj nyob rau hauv feem ntau infrastructure (xws li load balancers, HTTPS proxies thiab CDNs), thiab tawm-ntawm-lub-box functionality uas muaj. ntawm yuav luag feem ntau cov platforms thiab networks.

Cov neeg siv feem ntau siv peb lub app ntawm kev mus, thiab TCP tus Tsov tus tw latencies tsis nyob ze qhov kev xav tau ntawm peb lub sijhawm HTTPS tsheb khiav. Cias muab, cov neeg siv thoob plaws ntiaj teb tau ntsib qhov no - Daim duab 1 qhia txog kev ncua sij hawm hauv nroog loj:

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 1: Tail latency txawv ntawm Uber lub nroog loj.

Txawm hais tias latency nyob rau hauv Indian thiab Brazilian tes hauj lwm yog siab dua nyob rau hauv lub US thiab UK, tus Tsov tus tw latency yog ho siab tshaj qhov nruab nrab latency. Thiab qhov no muaj tseeb txawm tias rau Asmeskas thiab UK.

TCP tshaj kev ua haujlwm huab cua

TCP tau tsim rau siv kab networks, uas yog, nrog rau qhov tseem ceeb ntawm cov kev sib txuas tau zoo heev. Txawm li cas los xij, wireless networks muaj lawv tus kheej yam ntxwv thiab teeb meem. Ua ntej, wireless networks raug cuam tshuam los ntawm kev cuam tshuam thiab teeb liab attenuation. Piv txwv li, Wi-Fi tes hauj lwm yog rhiab heev rau microwaves, bluetooth thiab lwm yam xov tooj cua nthwv dej. Cellular networks raug kev txom nyem los ntawm cov teeb liab poob (ploj kev) vim kev xav / nqus ntawm lub teeb liab los ntawm cov khoom thiab cov tsev, nrog rau los ntawm cuam ​​tshuam los ntawm cov neeg nyob sib ze cell yees. Qhov no ua rau ntau qhov tseem ceeb (4-10 zaug) thiab ntau yam Lub Sijhawm Ncig Mus Los (RTT) thiab pob ntawv poob piv rau kev sib txuas ntawm lub xov tooj.

Txhawm rau tiv thaiv kev hloov pauv ntawm bandwidth thiab poob, cov xov tooj ntawm tes feem ntau siv cov buffers loj rau kev sib tsoo. Qhov no tuaj yeem ua rau ntau qhov queuing, uas txhais tau tias ncua ntev dua. Feem ntau TCP kho qhov queuing no raws li kev pov tseg vim lub sijhawm ncua ntev, yog li TCP nyiam relay thiab yog li sau qhov tsis muaj. Qhov teeb meem no yog hu ua ua bufferbloat (ntau heev network buffering, buffer bloat), thiab qhov no yog heev teeb meem loj niaj hnub Internet.

Thaum kawg, cellular network kev ua tau zoo sib txawv ntawm cov cab kuj, thaj tsam, thiab lub sijhawm. Nyob rau hauv daim duab 2, peb tau sau qhov nruab nrab ncua sij hawm ntawm HTTPS kev khiav tsheb hla cov hlwb hauv 2-kilometer ntau yam. Cov ntaub ntawv khaws tseg rau ob lub xov tooj ntawm tes loj hauv Delhi, Is Nrias teb. Raws li koj tuaj yeem pom, kev ua haujlwm sib txawv ntawm lub xov tooj mus rau ntawm tes. Tsis tas li ntawd, kev tsim khoom ntawm ib tus neeg teb xov tooj sib txawv ntawm cov khoom tsim tau thib ob. Qhov no yog cuam tshuam los ntawm cov xwm txheej xws li cov qauv nkag mus rau hauv lub sijhawm thiab qhov chaw, cov neeg siv kev txav mus los, nrog rau cov kev tsim kho hauv network uas suav nrog ntau qhov ceev thiab qhov sib piv ntawm hom network (LTE, 3G, thiab lwm yam).

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 2. Ncua sijhawm siv lub vojvoog 2 km ua piv txwv. Delhi, Is Nrias teb.

Tsis tas li ntawd, kev ua haujlwm ntawm cov xov tooj ntawm tes sib txawv raws sijhawm. Daim duab 3 qhia qhov nruab nrab latency los ntawm hnub ntawm lub lim tiam. Peb kuj pom qhov sib txawv ntawm qhov me me, hauv ib hnub thiab teev.

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 3. Kev qeeb qeeb tuaj yeem sib txawv ntawm cov hnub, tab sis rau tib tus neeg ua haujlwm.

Tag nrho cov saum toj no ua rau TCP kev ua haujlwm tsis zoo hauv kev sib txuas lus wireless. Txawm li cas los xij, ua ntej nrhiav lwm txoj hauv kev rau TCP, peb xav tsim kom muaj kev nkag siab meej ntawm cov ntsiab lus hauv qab no:

  • Puas yog TCP lub ntsiab culprit tom qab latencies hauv peb daim ntawv thov?
  • Puas yog cov tes hauj lwm niaj hnub no muaj qhov tseem ceeb thiab sib txawv ntawm kev mus ncig qeeb (RTT)?
  • Dab tsi yog qhov cuam tshuam ntawm RTT thiab poob ntawm TCP kev ua haujlwm?

TCP Performance Analysis

Txhawm rau nkag siab tias peb txheeb xyuas TCP kev ua tau zoo li cas, cia peb saib sai li cas TCP hloov cov ntaub ntawv los ntawm tus xa mus rau tus txais. Ua ntej, tus neeg xa khoom tsim kev sib txuas TCP, ua peb txoj hauv kev tuav tes: Tus neeg xa ntawv xa ib pob ntawv SYN, tos ib pob ntawv SYN-ACK los ntawm tus txais, ces xa ib pob ntawv ACK. Ib qho ntxiv thib ob thiab thib peb yog siv los tsim TCP kev sib txuas. Tus neeg tau txais kev lees paub tau txais txhua pob ntawv (ACK) kom ntseeg tau tias kev xa khoom zoo.

Yog tias ib pob ntawv lossis ACK ploj lawm, tus neeg xa khoom rov xa rov qab tom qab lub sijhawm (RTO, retransmission ncua sij hawm). RTO suav nrog dynamically raws li ntau yam, xws li kev cia siab RTT ncua ntawm tus xa thiab tus neeg txais.

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 4. Pob ntawv pauv ntawm TCP/TLS suav nrog cov txheej txheem rov ua haujlwm.

Txhawm rau txiav txim siab seb TCP ua li cas hauv peb daim ntawv thov, peb tau saib xyuas TCP pob khoom siv tcp pom rau ib lub lim tiam ntawm kev sib ntaus sib tua los ntawm Indian ntug servers. Tom qab ntawd peb txheeb xyuas TCP kev sib txuas siv tcptrac. Tsis tas li ntawd, peb tau tsim ib daim ntawv thov Android uas xa cov tsheb khiav mus rau cov neeg rau zaub mov kuaj, ua raws li cov tsheb khiav tiag tiag li ntau li ntau tau. Cov xov tooj smartphones nrog rau daim ntawv thov no tau muab faib rau ntau tus neeg ua haujlwm, uas tau sau cov ntawv sau tseg rau ob peb hnub.

Cov txiaj ntsig ntawm ob qhov kev sim tau zoo ib yam. Peb pom siab RTT latencies; tus nqi ntawm tus Tsov tus tw yog yuav luag 6 lub sij hawm siab tshaj qhov nruab nrab tus nqi; qhov nruab nrab arithmetic ntawm ncua yog ntau tshaj 1 thib ob. Ntau qhov kev sib txuas tau poob, ua rau TCP rov xa 3,5% ntawm tag nrho cov pob ntawv. Hauv thaj chaw congested xws li tshav dav hlau thiab chaw nres tsheb ciav hlau, peb pom 7% poob. Cov txiaj ntsig no ua rau muaj kev tsis ntseeg txog cov kev txawj ntse uas siv hauv cov xov tooj ntawm tes advanced retransmission circuits txo qhov poob ntawm theem thauj. Hauv qab no yog cov kev xeem tau los ntawm "simulator" daim ntawv thov:

Network metrics
Muaj nuj nqis

RTT, milliseconds [50%, 75%, 95%, 99%]
[350, 425, 725, 2300] ib.

RTT sib txawv, vib nas this
Qhov nruab nrab ~ 1,2 s

Pob ntawv poob ntawm kev sib txuas tsis ruaj khov
Nruab nrab ~ 3.5% (7% nyob rau hauv cov chaw overloaded)

Yuav luag ib nrab ntawm cov kev sib txuas no muaj tsawg kawg yog ib pob ntawv poob, feem ntau yog SYN thiab SYN-ACK pob ntawv. Feem ntau cov kev siv TCP siv tus nqi RTO ntawm 1 thib ob rau SYN pob ntawv, uas nce exponentially rau kev poob tom qab. Daim ntawv thov sijhawm thauj khoom tuaj yeem nce ntxiv vim TCP siv sijhawm ntev los tsim kev sib txuas.

Nyob rau hauv cov ntaub ntawv ntawm cov ntaub ntawv packets, siab RTO qhov tseem ceeb heev txo cov kev pab cuam ntawm lub network nyob rau hauv lub xub ntiag ntawm ib ntus poob nyob rau hauv wireless tes hauj lwm. Peb pom tias qhov nruab nrab lub sijhawm rov xa rov qab yog kwv yees li 1 thib ob nrog tus Tsov tus tw qeeb ntawm yuav luag 30 vib nas this. Cov latencies siab ntawm TCP theem no ua rau HTTPS ncua sij hawm thiab rov thov dua, ntxiv kev sib txuas ntxiv latency thiab tsis muaj txiaj ntsig.

Thaum 75 feem pua ​​​​ntawm kev ntsuas RTT nyob ib puag ncig 425 ms, 75 feem pua ​​​​rau TCP yog yuav luag 3 vib nas this. Qhov no qhia tau tias qhov poob ua rau TCP coj 7-10 hla mus rau kev xa cov ntaub ntawv tiav. Qhov no tej zaum yuav yog qhov tshwm sim ntawm qhov tsis muaj txiaj ntsig RTO suav, TCP qhov tsis muaj peev xwm los teb sai sai rau kev poob. pob khoom tshiab nyob rau hauv lub qhov rais thiab inefficiency ntawm congestion tswj algorithm, uas tsis paub qhov txawv ntawm wireless losses thiab poob vim network congestion. Hauv qab no yog cov txiaj ntsig ntawm TCP kev xeem poob:

TCP pob ntawv poob cov txheeb cais
nqi

Feem pua ​​​​ntawm kev sib txuas nrog tsawg kawg yog 1 pob ntawv poob
45%

Feem pua ​​​​ntawm kev sib txuas nrog kev poob thaum lub sij hawm teeb tsa kev sib txuas
30%

Feem pua ​​​​ntawm kev sib txuas nrog kev poob thaum sib pauv cov ntaub ntawv
76%

Kev faib tawm qeeb hauv kev xa rov qab, vib nas this [50%, 75%, 95%, 99%] [1, 2.8, 15, 28]

Kev faib tawm ntawm tus naj npawb ntawm retransmissions rau ib pob ntawv lossis TCP ntu
[1,3,6,7]

Application of QUIC

Keeb kwm tsim los ntawm Google, QUIC yog ntau txoj xov xwm thauj mus los niaj hnub uas khiav saum UDP. Tam sim no QUIC nyob hauv txheem txheej txheem (peb twb tau sau tias muaj, raws li nws yog, ob versions ntawm QUIC, xav paub tuaj yeem ua raws li qhov txuas - kwv yees. tus txhais lus). Raws li pom nyob rau hauv daim duab 5, QUIC tau muab tso rau hauv HTTP / 3 (qhov tseeb, HTTP / 2 nyob rau sab saum toj ntawm QUIC yog HTTP / 3, uas tam sim no tau siv ntau tus qauv). Nws ib nrab hloov HTTPS thiab TCP txheej los ntawm kev siv UDP los tsim cov pob ntawv. QUIC tsuas yog txhawb nqa cov ntaub ntawv hloov chaw ruaj ntseg raws li TLS tau ua tiav rau hauv QUIC.

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 5: QUIC khiav hauv HTTP/3, hloov TLS, uas yav dhau los khiav hauv HTTP/2.

Hauv qab no yog cov laj thawj uas ntxias peb siv QUIC rau TCP amplification:

  • 0-RTT kev sib txuas kev lag luam. QUIC tso cai rov qab siv cov ntawv tso cai los ntawm kev sib txuas yav dhau los, txo tus naj npawb ntawm kev sib tuav tes ruaj ntseg. Yav tom ntej TXL 1.3 yuav txhawb nqa 0-RTT, tab sis peb txoj kev sib tuav tes TCP tseem yuav tsum tau ua.
  • kov yeej HoL thaiv. HTTP / 2 siv ib qho kev sib txuas TCP rau ib tus neeg siv los txhim kho kev ua haujlwm, tab sis qhov no tuaj yeem ua rau HoL (lub taub hau-ntawm-kab) thaiv. QUIC ua kom yooj yim multiplexing thiab xa cov lus thov rau daim ntawv thov nws tus kheej.
  • tswj congestion. QUIC nyob ntawm daim ntawv thov txheej, ua kom yooj yim dua los hloov kho cov txheej txheem thauj khoom tseem ceeb uas tswj kev xa tawm raws li qhov tsis sib xws (tus lej poob lossis RTT). Feem ntau cov kev siv TCP siv cov algorithm QAIB, uas tsis zoo rau latency-sensitive tsheb. Tsis ntev los no tau tsim algorithms zoo li BBR, ua qauv zoo dua lub network thiab optimize latency. QUIC tso cai rau koj siv BBR thiab hloov kho cov txheej txheem no raws li nws siv. kev txhim kho.
  • rov qab losses. QUIC hu ob TLPs (tail loss soj ntsuam) ua ntej RTO tshwm sim - txawm tias qhov kev poob zoo heev. Qhov no txawv ntawm kev siv TCP. TLP retransmits feem ntau yog cov pob ntawv kawg (lossis ib qho tshiab, yog tias muaj ib qho) los ua kom rov ua kom nrawm dua. Kev tuav tus Tsov tus tw qeeb yog tshwj xeeb tshaj yog muaj txiaj ntsig zoo rau txoj kev Uber ua haujlwm nws lub network, uas yog luv luv, tsis sib xws, thiab latency-rhiab cov ntaub ntawv hloov tsheb.
  • optimized ACK. Txij li thaum txhua pob ntawv muaj tus lej sib txawv, tsis muaj teeb meem kev sib txawv pob ntawv thaum lawv rov kis dua. ACK pob ntawv kuj tseem muaj sijhawm los ua cov pob ntawv thiab tsim kom muaj ACK ntawm tus neeg siv khoom. Cov yam ntxwv no xyuas kom meej tias QUIC suav RTT kom raug ntau dua. ACK hauv QUIC txhawb nqa txog 256 pawg NACK, pab tus neeg xa khoom muaj zog dua rau pob ntawv shuffling thiab siv tsawg bytes hauv cov txheej txheem. Selective ACK (SACK) hauv TCP tsis daws qhov teeb meem no hauv txhua kis.
  • kev sib txuas migration. QUIC kev sib txuas raug txheeb xyuas los ntawm 64-ntsis ID, yog li yog tias tus neeg siv hloov pauv chaw nyob IP, tus ID txuas qub tuaj yeem siv txuas ntxiv mus rau tus IP tshiab yam tsis muaj kev cuam tshuam. Qhov no yog ib qho kev coj ua zoo tshaj plaws rau cov ntawv thov mobile uas cov neeg siv hloov pauv ntawm Wi-Fi thiab kev sib txuas ntawm tes.

Alternatives to QUIC

Peb tau txiav txim siab lwm txoj hauv kev los daws qhov teeb meem ua ntej xaiv QUIC.

Thawj qhov peb tau sim yog siv TPC PoPs (Points of Presence) los txiav TCP kev sib txuas ze rau cov neeg siv. Qhov tseem ceeb, PoPs xaus TCP kev sib txuas nrog lub xov tooj ntawm tes los ze zog rau lub xov tooj ntawm tes thiab tso cai cov tsheb khiav rov qab mus rau qhov qub txheej txheem. Los ntawm kev txiav TCP los ze zog, peb tuaj yeem txo qhov RTT thiab xyuas kom meej tias TCP teb tau ntau dua rau qhov chaw muaj zog wireless. Txawm li cas los xij, peb qhov kev sim tau pom tias feem ntau ntawm RTT thiab poob los ntawm cov xov tooj ntawm tes thiab kev siv PoPs tsis muab kev txhim kho tseem ceeb.

Peb kuj tau saib ntawm tuning TCP tsis. Kev teeb tsa TCP pawg ntawm peb cov servers heterogeneous ntug yog qhov nyuaj vim tias TCP muaj qhov sib txawv ntawm qhov sib txawv OS versions. Nws yog ib qho nyuaj rau kev siv qhov no thiab sim sib txawv network configurations. Kev teeb tsa TCP ncaj qha ntawm cov khoom siv mobile tsis tuaj yeem ua tau vim tsis muaj kev tso cai. Qhov tseem ceeb tshaj, cov yam ntxwv xws li 0-RTT kev sib txuas thiab txhim kho RTT kev twv ua ntej yog qhov tseem ceeb rau cov txheej txheem kev teeb tsa, thiab yog li nws tsis tuaj yeem ua tiav cov txiaj ntsig tseem ceeb los ntawm kev kho TCP ib leeg.

Thaum kawg, peb tau soj ntsuam ntau qhov UDP-raws li kev cai uas daws teeb meem video streaming-peb xav pom seb cov txheej txheem no puas yuav pab tau hauv peb rooj plaub. Hmoov tsis zoo, lawv tau ua tsis tiav hauv ntau qhov chaw ruaj ntseg, thiab tseem xav tau kev sib txuas TCP ntxiv rau cov ntaub ntawv metadata thiab tswj cov ntaub ntawv.

Peb cov kev tshawb fawb tau pom tias QUIC yog kab tias tsuas yog cov txheej txheem uas tuaj yeem pab daws teeb meem ntawm Internet kev khiav tsheb, thaum saib xyuas kev nyab xeeb thiab kev ua haujlwm.

Kev koom ua ke ntawm QUIC rau hauv lub platform

Txhawm rau ua tiav QUIC thiab txhim kho daim ntawv thov kev ua haujlwm hauv qhov chaw sib txuas tsis zoo, peb hloov cov pawg qub (HTTP/2 dhau TLS/TCP) nrog QUIC raws tu qauv. Peb siv lub tsev qiv ntawv network Cronet los ntawm Chromium Projects, uas muaj tus thawj, Google version ntawm tus txheej txheem - gQUIC. Qhov kev siv no tseem raug txhim kho tas li kom ua raws li qhov tseeb IETF specification.

Peb thawj zaug koom ua ke Cronet rau hauv peb cov apps hauv Android ntxiv kev txhawb nqa rau QUIC. Kev koom ua ke tau ua raws li txoj hauv kev kom txo cov nqi tsiv teb tsaws ntau npaum li qhov ua tau. Es tsis txhob tag nrho cov qub networking pawg uas siv lub tsev qiv ntawv OkHttp, peb tau koom ua ke Cronet raws li OkHttp API moj khaum. Los ntawm kev ua qhov kev koom ua ke li no, peb zam kev hloov pauv rau peb lub network hu (uas yog siv los ntawm Kev rov xyuas dua) nyob rau qib API.

Zoo ib yam li txoj hauv kev rau cov khoom siv hauv Android, peb siv Cronet rau hauv Uber apps ntawm iOS, cuam tshuam HTTP tsheb los ntawm network APIsiv NSURLProtocol. Qhov kev paub daws teeb meem no, muab los ntawm iOS Foundation, tswj hwm cov txheej txheem tshwj xeeb URL cov ntaub ntawv thiab xyuas kom meej tias peb tuaj yeem koom ua ke Cronet rau hauv peb cov ntawv thov iOS no yam tsis muaj nqi tsiv teb tsaws tseem ceeb.

Ua kom tiav QUIC ntawm Google Cloud Balancers

Nyob rau sab nraub qaum, QUIC tiav yog muab los ntawm Google Cloud Load balancing infrastructure, uas siv alt swb headers hauv cov lus teb los txhawb QUIC. Feem ntau, tus balancer ntxiv alt-svc header rau txhua qhov kev thov HTTP, thiab qhov no twb tau lees paub QUIC kev txhawb nqa rau lub npe. Thaum tus neeg siv khoom Cronet tau txais HTTP cov lus teb nrog lub taub hau no, nws siv QUIC rau qhov kev thov HTTP tom ntej mus rau qhov chaw ntawd. Thaum tus ntsuas ntsuas ua tiav QUIC, peb cov txheej txheem qhia meej meej xa qhov kev txiav txim no hla HTTP2 / TCP rau peb cov chaw khaws ntaub ntawv.

Kev ua tau zoo: Cov txiaj ntsig

Kev ua tau zoo tso tawm yog qhov laj thawj tseem ceeb rau peb txoj kev tshawb nrhiav kom zoo dua. Yuav pib nrog, peb tsim ib tug sawv nrog network emulationkom paub seb QUIC yuav coj li cas nyob rau hauv qhov sib txawv network profiles. Txhawm rau kuaj QUIC qhov kev ua tau zoo ntawm cov tes hauj lwm hauv ntiaj teb tiag tiag, peb tau ua qhov kev sim thaum tsav tsheb ncig New Delhi siv emulated network tsheb zoo ib yam li HTTP hu hauv cov neeg caij tsheb app.

Kev sim 1

Cov khoom siv rau kev sim:

  • kuaj cov khoom siv hauv Android nrog OkHttp thiab Cronet pawg kom ntseeg tau tias peb tso cai HTTPS tsheb hla TCP thiab QUIC feem;
  • Java-based emulation server uas xa tib hom HTTPS headers hauv cov lus teb thiab thauj cov neeg siv khoom kom tau txais kev thov los ntawm lawv;
  • huab proxies uas nyob ze rau Is Nrias teb kom xaus TCP thiab QUIC kev sib txuas. Thaum rau TCP txiav tawm peb siv lub npe rov qab rau NGINX, nws nyuaj rau nrhiav qhov qhib qhov rov qab tso npe rau QUIC. Peb tsim ib lub npe rov qab rau QUIC peb tus kheej siv QUIC pawg los ntawm Chromium thiab luam tawm nws mus rau hauv chromium li qhib qhov chaw.

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zooQUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 6. Lub TCP vs QUIC txoj kev xeem suite muaj cov khoom siv hauv Android nrog OkHttp thiab Cronet, huab proxies rau kev txiav cov kev sib txuas, thiab ib qho emulation server.

Kev sim 2

Thaum Google ua QUIC muaj nrog Google Huab Load Balancing, peb siv tib cov khoom muag, tab sis nrog ib qho kev hloov kho: hloov NGINX, peb tau coj Google load balancers los txiav TCP thiab QUIC kev sib txuas los ntawm cov khoom siv, nrog rau txoj kev HTTPS tsheb mus rau emulation server. Balancers raug faib thoob plaws ntiaj teb, tab sis siv PoP server ze tshaj plaws rau lub cuab yeej (ua tsaug rau geolocation).

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 7. Hauv qhov kev sim thib ob, peb xav sib piv qhov ua tiav latency ntawm TCP thiab QUIC: siv Google Cloud thiab siv peb lub npe huab.

Yog li ntawd, ntau qhov kev tshwm sim tos peb:

  • Kev txiav tawm ntawm PoP txhim kho TCP kev ua tau zoo. Txij li cov neeg sib npaug txiav TCP kev sib txuas ze rau cov neeg siv thiab tau txais txiaj ntsig zoo, qhov no ua rau qis RTTs, uas txhim kho TCP kev ua tau zoo. Thiab txawm hais tias QUIC tau cuam tshuam tsawg dua, nws tseem ua tau zoo dua TCP raws li kev txo qis latency (los ntawm 10-30 feem pua).
  • tails raug cuam tshuam network hops. Txawm hais tias peb lub npe QUIC tau ntxiv los ntawm cov khoom siv (txog 50 ms siab dua latency) dua li Google cov khoom sib npaug, nws tau xa cov kev ua tau zoo sib xws - 15% txo qis hauv latency piv rau 20% txo qis hauv 99 feem pua ​​​​rau TCP. Qhov no qhia tau hais tias qhov kev hloov ntawm mais kawg yog ib qho kev tsis sib haum xeeb hauv lub network.

QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zooQUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 8: Cov txiaj ntsig los ntawm ob qhov kev sim qhia tias QUIC ua tau zoo dua TCP.

Sib ntaus sib tua

Kev tshoov siab los ntawm kev sim, peb tau siv QUIC kev txhawb nqa hauv peb cov ntawv thov Android thiab iOS. Peb tau sim A / B los txiav txim qhov cuam tshuam ntawm QUIC hauv cov nroog uas Uber ua haujlwm. Nyob rau hauv dav dav, peb pom ib tug loj txo nyob rau hauv tus Tsov tus tw qeeb nyob rau hauv ob lub cheeb tsam, telecom tswv thiab network hom.

Cov duab hauv qab no qhia txog qhov feem pua ​​​​ntawm kev txhim kho hauv cov tails (95 thiab 99 feem pua) los ntawm thaj chaw macro thiab ntau hom network - LTE, 3G, 2G.
QUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zooQUIC raws tu qauv hauv kev nqis tes ua: yuav ua li cas Uber siv nws los txhim kho kev ua tau zoo
Daim duab 9. Hauv kev xeem sib ntaus sib tua, QUIC ua tau zoo tshaj TCP raws li qhov latency.

Tsuas yog tom ntej

Tej zaum qhov no yog qhov pib xwb - kev tso tawm ntawm QUIC rau hauv kev tsim khoom tau muab lub sijhawm zoo los txhim kho daim ntawv thov kev ua haujlwm hauv ob qho tib si ruaj khov thiab tsis ruaj khov, uas yog:

Kev pab txhawb ntxiv

Tom qab txheeb xyuas qhov ua tau zoo ntawm cov txheej txheem ntawm kev khiav tsheb tiag tiag, peb pom tias kwv yees li 80% ntawm cov kev sib tham ua tiav siv QUIC rau ntawm txhua tus thov, thaum 15% ntawm cov kev sib tham siv kev sib txuas ntawm QUIC thiab TCP. Peb xav tias kev sib xyaw ua ke yog vim lub tsev qiv ntawv Cronet ncua sij hawm rov qab mus rau TCP, vim nws tsis tuaj yeem paub qhov txawv ntawm UDP tiag tiag thiab cov xwm txheej tsis zoo. Tam sim no peb tab tom nrhiav kev daws teeb meem rau qhov teeb meem no thaum peb ua haujlwm ntawm kev siv QUIC tom ntej.

QUIC optimization

Tsheb khiav los ntawm mobile apps yog latency rhiab heev, tab sis tsis bandwidth rhiab heev. Tsis tas li ntawd, peb cov ntawv thov feem ntau yog siv los ntawm cov xov tooj ntawm tes. Raws li kev sim, tus Tsov tus tw latencies tseem siab txawm tias siv lub npe los txiav TCP thiab QUIC ze rau cov neeg siv. Peb tab tom nrhiav rau txoj hauv kev los txhim kho kev tswj hwm kev sib tsoo thiab txhim kho kev ua haujlwm ntawm QUIC poob rov qab algorithms.

Nrog rau cov no thiab ntau lwm yam kev txhim kho, peb npaj los txhim kho cov neeg siv kev paub tsis hais txog lub network thiab cheeb tsam, ua kom yooj yim thiab seamless pob ntawv thauj mus los thoob ntiaj teb.

Tau qhov twg los: www.hab.com

Ntxiv ib saib