BBR
BBR yra TCP tinklo perkrovos optimizavimo algoritmas atvirojo kodo "Google", kuris yra įsipareigojęs išspręsti dvi problemas: visiškai išnaudoti tinklo ryšių pralaidumą su tam tikru paketų praradimo greičiu. Sumažinkite buferio užimtumą tinklo jungtyse, kad sumažintumėte delsą. TCP perkrovos kontrolės tikslas yra maksimaliai padidinti tinklo kliūčių jungčių pralaidumą.
TCP BBR yra TCP perkrovos valdymo algoritmų rinkinys, kurį sukūrė ir paskelbė "Google". Dėl lėto vėlavimo teikti paramą naujam branduoliui ir numatytojo TCP BBR palaikymo nuo Linux 4.9 branduolio, jis palaipsniui tapo pirmuoju pasirinkimu serverio vienašališkam pagreitinimui. BBRplus yra patobulinta originalaus BBR versija, modifikuota CSDN internautų dog250. Kita vertus, BBRv2 yra tolesnė originalaus BBR iteracija ir vis dar yra beta versijoje.
Tačiau, atsižvelgiant į įvairiausius BBR darinius, internete retai galima pamatyti horizontalias jų palyginimo apžvalgas. Kai kurie esami vertinimai dažnai yra pagrįsti patirtimi ir subjektyviais įspūdžiais arba bandymais ne vietoje su nekontroliuojamais kintamaisiais. Taigi reizhi nusprendė skirti laiko atlikti vietinį horizontalų BBR BBRplus ir BBR2 testą, kad sužinotų.
Bandymo aplinka
Naudokite VMware darbo vietą, kad atidarytumėte dvi Debian virtualias mašinas, kurių serveris yra A įrenginys, nustatykite žiniatinklio paslaugą per Nginx ir įdėkite 100 MB failą atsisiuntimo greičio testavimui; Mašina B yra kliento mašina, ir jūs naudojate wget atsisiųsti. Dvi virtualios mašinos yra sujungtos per virtualų vidinį tinklą ir abi yra SSD SSD.
Bandymo metodika
Įrenginio A tinklo plokštė nustatoma į 150 ms ± 15 ms delsą (atsitiktiniai svyravimai) per tc komandą, o 8% paketų praradimas naudojamas bendrai tinklo aplinkai imituoti. Įdiegę skirtingą BBR šakos pagreitį, kelis kartus (≥5 kartus) atsisiųskite 100 MB bandomąjį failą į kompiuterį B per wget ir gaukite vidutinį greičiausio 3 kartų greitį.
Bandymo rezultatai
Pažvelkime tiesiai į testo rezultatus, BBRv2, kuris vis dar yra beta versijoje, yra lėčiausias šiame teste, beveik tokiu pat greičiu kaip numatytasis kubinis algoritmas 4.19 branduolyje. Keista, kad BBRplus, nors ir žymiai greitesnis nei originalus BBR, gerokai atsilieka nuo BBR su 5,5 branduolių.
Mano bandymuose labai nustebino tai, kad BBRplus šaka labai greitai pakilo po atsisiuntimo inicijavimo. Tačiau dėl tam tikrų priežasčių, kai atsisiuntimas progresuoja iki maždaug 50% ~ 60%, greitis staiga sumažės. Toliau pateiktame grafike visiškai užfiksuoti BBRplus 4.14.129 greičio pokyčiai.
BBRplus 4.14.129
Iš pradžių Reizhi manė, kad tai bandymo klaida ar kitos priežastys, tačiau paleidus iš naujo, iš naujo įdiegus sistemą, iš naujo įdiegus branduolį, rankiniu būdu kompiliuojant branduolį ir įjungus BBRplus ir pan., Jis nepagerėjo. Toje pačioje bandymo aplinkoje BBR 5.5 greitis yra daug stabilesnis.
BBR 5.5.10
Nors BBR 5.5.10 nėra toks greitas kaip BBRplus pagal paleidimo pagreitį ir didžiausią greitį, jis išlaiko labai gerą greitį viso atsisiuntimo proceso metu, o bendras laiko suvartojimas yra daug mažesnis nei BBRplus. Ar tai reiškia, kad BBRplus geriau tinka mažo srauto pliūpsniams, o BBR pasižymi dideliais kiekiais ir ilgalaikiu pralaidumu?
Komentarus
Šiame teste taip pat išbandėme "Sharp Speed" ir "Net-speeder", tačiau, panašiai kaip BBR2, jų bendras greitis yra tik dviženklis, todėl rezultatai čia neįtraukti.
BBR2 5.4.0-rc6
Aukščiau pateiktas BBR2 greitis, kuris nebuvo visiškai atsisiųstas dėl lėto greičio.
Originali nuoroda:Hipersaito prisijungimas matomas.
|