BBR
BBR is een TCP-netwerkcongestie-optimalisatiealgoritme open source van Google, dat zich inzet voor het oplossen van twee problemen: het volledig benutten van bandbreedte op netwerkverbindingen met een bepaald pakketverliespercentage. Verminder de bufferbezetting op netwerkverbindingen om de latentie te verminderen. Het doel van TCP-congestiecontrole is het maximaliseren van de bandbreedte van de bottleneck-verbindingen in het netwerk.
TCP BBR is een set TCP-congestiecontrole-algoritmen die zijn ontworpen en gepubliceerd door Google. Door de trage vertraging in het bieden van ondersteuning voor de nieuwe kernel, en de standaardondersteuning voor TCP BBR sinds de Linux 4.9-kernel, is het geleidelijk de eerste keuze geworden voor unilaterale serverversnelling. BBRplus is een verbeterde versie van de originele BBR, aangepast door CSDN netizen dog250. BBRv2 daarentegen is een opvolger van de originele BBR en bevindt zich nog in bèta.
Echter, gezien een grote verscheidenheid aan BBR-derivaten is het zeldzaam om horizontale vergelijkingsrecensies hiervan op internet te zien. Sommige bestaande evaluaties zijn vaak gebaseerd op ervaring en subjectieve indrukken, of op off-site tests met oncontroleerbare variabelen. Dus besloot Reizhi de tijd te nemen om een lokale horizontale test van BBR, BBRplus en BBR2 te doen om dat uit te zoeken.
Testomgeving
Gebruik VMware workstation om twee Debian-virtuele machines te openen, waarvan machine A de server is, zet een webservice op via Nginx en plaats een bestand van 100 MB voor downloadsnelheidstesten; Machine B is een clientmachine en je gebruikt wget om te downloaden. De twee virtuele machines zijn verbonden via een virtueel intern netwerk en staan beide op SSD's.
Testmethodologie
De netwerkkaart van machine A wordt ingesteld op een vertraging van 150 ms ± 15 ms (willekeurige fluctuaties) via het tc-commando, en 8% pakketverlies wordt gebruikt om een algemene netwerkomgeving te simuleren. Na het installeren van verschillende BBR-branchversnellingen, download je het 100MB testbestand op machine B via wget meerdere keren (≥5 keer) en krijg je de gemiddelde snelheid van de snelste drie keren.
Testresultaten
Laten we direct naar de testresultaten kijken: BBRv2, dat nog in bèta is, is het langzaamst in deze test, met bijna dezelfde snelheid als het standaard kubische algoritme in de 4.19-kernel. Verrassend genoeg loopt BBRplus, hoewel aanzienlijk sneller dan de originele BBR, ver achter op de BBR met 5,5 cores.
Wat erg verrassend was tijdens mijn tests, was dat de BBRplus-tak heel snel steeg na het starten van de download. Maar om de een of andere reden daalt de snelheid plotseling als de download tot ongeveer 50% ~ 60% gaat. De volgende grafiek geeft volledig de snelheidsveranderingen van BBRplus 4.14.129 weer.
BBRplus 4.14.129
In eerste instantie dacht Reizhi dat het een testfout was of andere redenen, maar na het herstarten, het opnieuw installeren van het systeem, het opnieuw installeren van de kernel, handmatig compileren en BBRplus inschakelen, enzovoort, verbeterde het niet. Onder dezelfde testomgeving is de snelheidsprestaties van BBR 5.5 veel stabieler.
BBR 5.5.10
Hoewel BBR 5.5.10 niet zo snel is als BBRplus qua startsnelheid en pieksnelheid, behoudt het een zeer goede snelheid gedurende het downloadproces en is de totale tijdsinvestering veel lager dan die van BBRplus. Betekent dit dat BBRplus beter geschikt is voor bursts van klein verkeer, terwijl BBR uitblinkt bij grote volumes en een aanhoudende doorvoersnelheid?
Aantekeningen
In deze test probeerden we ook Sharp Speed en Net-speeder, maar net als bij BBR2 is hun totale snelheid slechts in de dubbele cijfers, dus de resultaten zijn hier niet opgenomen.
BBR2 5.4.0-rc6
Bovenstaande is de snelheid van BBR2, die niet volledig is gedownload vanwege de trage snelheid.
Originele link:De hyperlink-login is zichtbaar.
|