BBR
BBR este un algoritm TCP de optimizare a congestiei rețelei, open source, dezvoltat de Google, care este dedicat rezolvării a două probleme: utilizarea completă a lățimii de bandă pe legăturile de rețea cu o anumită rată de pierdere a pachetelor. Reducerea ocupării buffer-ului pe legăturile de rețea pentru a reduce latența. Scopul controlului congestiei TCP este de a maximiza lățimea de bandă a legăturilor de blocaj din rețea.
TCP BBR este un set de algoritmi de control al congestiei TCP proiectați și publicați de Google. Datorită întârzierii lente în furnizarea suportului pentru noul nucleu și a suportului implicit pentru TCP BBR de la kernelul Linux 4.9, acesta a devenit treptat prima opțiune pentru accelerarea unilaterală a serverului. BBRplus este o versiune îmbunătățită a BBR original, modificată de utilizatorul CSDN dog250. BBRv2, pe de altă parte, este o continuare a BBR original și este încă în beta.
Totuși, în fața unei varietăți largi de derivate BBR, este rar să vezi recenzii de comparație orizontală ale acestora pe Internet. Unele dintre evaluările existente se bazează adesea pe experiență și impresii subiective, sau pe teste externe cu variabile incontrolabile. Așa că Reizhi a decis să-și facă timp să facă un test local orizontal al BBR, BBRplus și BBR2 pentru a afla.
Mediul de testare
Folosiți stația de lucru VMware pentru a deschide două mașini virtuale Debian, dintre care mașina A este serverul, pentru a configura un serviciu web prin Nginx și a plasa un fișier de 100mb pentru testarea vitezei de descărcare; Mașina B este o mașină client, iar tu folosești wget pentru a descărca. Cele două mașini virtuale sunt conectate printr-o rețea internă virtuală și ambele sunt pe SSD-uri SSD.
Metodologia testării
Placa de rețea a mașinii A este setată la o întârziere de 150ms ± 15ms (fluctuații aleatorii) prin comanda tc, iar o pierdere de pachete de 8% este folosită pentru a simula un mediu general de rețea. După instalarea diferitelor accelerări BBR, descarcă fișierul de test de 100MB pe mașina B prin wget de mai multe ori (≥5 ori) și obține viteza medie a celui mai rapid de 3 ori.
Rezultatele testelor
Să privim direct rezultatele testului, BBRv2, care este încă în beta, este cel mai lent din acest test, cu aproape aceeași viteză ca algoritmul cubic implicit din kernelul 4.19. Surprinzător, BBRplus, deși semnificativ mai rapid decât BBR-ul original, este mult în urma BBR-ului, cu 5,5 nuclee.
Ce a fost foarte surprinzător în testele mele a fost că ramura BBRplus a urcat foarte rapid după inițierea descărcării. Dar, dintr-un motiv oarecare, când descărcarea avansează la aproximativ 50% ~ 60%, viteza scade brusc. Graficul următor înregistrează complet schimbările de viteză ale BBRplus 4.14.129.
BBRplus 14.04.129
La început, Reizhi a crezut că este o eroare de test sau alte motive, dar după repornire, reinstalare a sistemului, reinstalarea nucleului, compilarea manuală a nucleului și activarea BBRplus etc., nu s-a îmbunătățit. În același mediu de testare, performanța de viteză a BBR 5.5 este mult mai stabilă.
BBR 5.5.10
Deși BBR 5.5.10 nu este la fel de rapid ca BBRplus în ceea ce privește accelerația de pornire și viteza maximă, menține o viteză foarte bună pe tot parcursul procesului de descărcare, iar consumul total de timp este mult mai mic decât BBRplus. Înseamnă asta că BBRplus este mai potrivit pentru explozii de trafic mic, în timp ce BBR excelează la volume mari și la un debit susținut?
Adnotări
În acest test, am încercat și Sharp Speed și Net-speeder, dar, similar cu BBR2, viteza lor generală este doar în două cifre, așa că rezultatele nu sunt incluse aici.
BBR2 5.4.0-rc6
Cele de mai sus reprezintă viteza BBR2, care nu a fost descărcată complet din cauza vitezei mici.
Link original:Autentificarea cu hyperlink este vizibilă.
|