BBR
BBR je odprtokodni algoritem za optimizacijo zasičenosti v omrežju TCP, ki ga je ustvaril Google in si prizadeva reševati dva problema: polno izkoriščanje pasovne širine na omrežnih povezavah z določeno stopnjo izgube paketov. Zmanjšajte zasedenost medpomnilnika na omrežnih povezavah, da zmanjšate zakasnitev. Cilj nadzora zasičenosti TCP je maksimirati pasovno širino ozkih grl povezav v omrežju.
TCP BBR je niz TCP algoritmov za nadzor zastojev, ki jih je zasnoval in objavil Google. Zaradi počasnega zamude pri zagotavljanju podpore za novo jedro in privzete podpore za TCP BBR od jedra Linux 4.9 je postopoma postal prva izbira za enostransko pospeševanje strežnikov. BBRplus je izboljšana različica izvirnega BBR, ki jo je prilagodil CSDN netizen dog250. BBRv2 pa je nadaljevanje izvirnega BBR in je še vedno v beta fazi.
Vendar pa je ob široki paleti derivatov BBR redko videti horizontalne primerjalne preglede na internetu. Nekatere obstoječe ocene so pogosto osnovane na izkušnjah in subjektivnih vtisih ali na testiranju izven lokacije z nenadzorovanimi spremenljivkami. Zato se je Reizhi odločil vzeti si čas za lokalni horizontalni test BBR BBRplus in BBR2, da bi to izvedel.
Testno okolje
Uporabite VMware delovno postajo za odprtje dveh Debian virtualnih strojev, od katerih je strežnik A, nastavite spletno storitev preko Nginx in postavite 100mb datoteko za testiranje hitrosti prenosa; Naprava B je odjemalska naprava in za prenos uporabljaš wget. Oba virtualna stroja sta povezana preko virtualnega notranjega omrežja in sta oba na SSD SSD-jih.
Metodologija testiranja
Omrežna kartica naprave A je nastavljena na zamik 150 ms ± 15 ms (naključnih nihanj) preko ukaza tc, 8 % izguba paketov pa se uporablja za simulacijo splošnega omrežnega okolja. Po namestitvi različnih pospeševanja BBR vej prenesite 100MB testno datoteko na računalniku B večkrat preko wgeta (≥5-krat) in dobite povprečno hitrost najhitrejših 3-krat.
Rezultati testov
Poglejmo neposredno rezultate testa, BBRv2, ki je še vedno v beta fazi, je najpočasnejši v tem testu, z skoraj enako hitrostjo kot privzeti kubični algoritem v jedru 4.19. Presenetljivo je, da je BBRplus, čeprav bistveno hitrejši od originalnega BBR, precej zaostaja za BBR s 5,5 jedra.
Kar me je zelo presenetilo pri testiranju, je bilo, da se je veja BBRplus zelo hitro povzpela po začetku prenosa. A iz nekega razloga, ko prenos doseže približno 50 % ~ 60 %, se hitrost nenadoma zniža. Naslednji graf v celoti prikazuje spremembe hitrosti BBRplus 4.14.129.
BBRplus 4.14.129
Sprva je Reizhi mislil, da gre za napako v testu ali druge razloge, a po ponovnem zagonu, ponovni namestitvi sistema, ponovni namestitvi jedra, ročnem prevajanju jedra in vklopu BBRplus itd., se stanje ni izboljšalo. V istem testnem okolju je hitrostna zmogljivost BBR 5.5 veliko bolj stabilna.
BBR 5.5.10
Čeprav BBR 5.5.10 ni tako hiter kot BBRplus glede začetnega pospeška in vršne hitrosti, ohranja zelo dobro hitrost skozi celoten proces prenosa, skupna poraba časa pa je precej nižja kot pri BBRplus. Ali to pomeni, da je BBRplus bolj primeren za izbruhe manjšega prometa, medtem ko BBR izstopa pri velikih količinah in vzdržni prepustnosti?
Pripombe
V tem testu smo preizkusili tudi Sharp Speed in Net-speeder, vendar je podobno kot pri BBR2 njuna skupna hitrost le v dvomestnih številkah, zato rezultati tukaj niso vključeni.
BBR2 5.4.0-rc6
Zgoraj navedeno je hitrost BBR2, ki ni bil v celoti prenesen zaradi počasnosti.
Izvirna povezava:Prijava do hiperpovezave je vidna.
|