BBR
BBR är en TCP-nätverksoptimeringsoptimeringsalgoritm öppen källkod från Google, som är engagerad i att lösa två problem: att utnyttja bandbredden fullt ut på nätverkslänkar med en viss paketförlust. Minska buffertbeläggningen på nätverkslänkar för att minska latensen. Målet med TCP-trängselkontroll är att maximera bandbredden på flaskhalslänkarna i nätverket.
TCP BBR är en uppsättning TCP-trängselkontrollalgoritmer designade och publicerade av Google. På grund av den långsamma fördröjningen i att tillhandahålla stöd för den nya kärnan, och standardstödet för TCP BBR sedan Linux 4.9-kärnan, har den gradvis blivit det förstahandsvalet för serverens ensidiga acceleration. BBRplus är en förbättrad version av den ursprungliga BBR, modifierad av CSDN:s nätanvändare hund250. BBRv2, å andra sidan, är en uppföljare av originalet BBR och är fortfarande i beta.
Men med tanke på ett brett utbud av BBR-derivat är det sällsynt att se horisontella jämförelser av dem på internet. Vissa av de befintliga utvärderingarna baseras ofta på erfarenhet och subjektiva intryck, eller på externa tester med okontrollerbara variabler. Så Reizhi bestämde sig för att ta sig tid att göra ett lokalt horisontellt test av BBR BBR BBRplus och BBR2 för att ta reda på det.
Testmiljö
Använd VMware workstation för att öppna två Debian-virtuella maskiner, där maskin A är servern, sätt upp en webbtjänst via Nginx och lägg in en 100 MB-fil för nedladdningshastighetstestning; Maskin B är en klientmaskin, och du använder wget för att ladda ner. De två virtuella maskinerna är kopplade via ett virtuellt internt nätverk och båda är på SSD-SSD:er.
Testmetodik
Nätverkskortet för maskin A ställs in på en fördröjning på 150 ms ± 15 ms (slumpmässiga fluktuationer) via tc-kommandot, och 8 % paketförlust används för att simulera en allmän nätverksmiljö. Efter att ha installerat olika BBR-grenaccelerationer, ladda ner testfilen på 100 MB på maskin B via wget flera gånger (≥5 gånger) och få medelhastigheten för de snabbaste tre gångerna.
Testresultat
Låt oss titta direkt på testresultaten, BBRv2, som fortfarande är i beta, är den långsammaste i detta test, med nästan samma hastighet som standardalgoritmen i 4.19-kärnan. Överraskande nog ligger BBRplus, även om det är betydligt snabbare än original-BBR, långt efter BBR med 5,5 kärnor.
Det som var väldigt överraskande i mina tester var att BBRplus-grenen steg väldigt snabbt efter att nedladdningen startats. Men av någon anledning, när nedladdningen går till cirka 50 % ~ 60 %, sjunker hastigheten plötsligt. Följande graf visar fullt ut hastighetsförändringarna för BBRplus 4.14.129.
BBRplus 4.14.129
Till en början trodde Reizhi att det var ett testfel eller andra orsaker, men efter omstart, ominstallation av systemet, återinstallation av kärnan, manuell kompilering av kärnan och aktivering av BBRplus, etc., förbättrades det inte. Under samma testmiljö är BBR 5.5:s hastighetsprestanda mycket mer stabil.
BBR 5.5.10
Även om BBR 5.5.10 inte är lika snabb som BBRplus när det gäller startacceleration och topphastighet, behåller den en mycket bra hastighet under hela nedladdningsprocessen, och den totala tidsåtgången är mycket lägre än BBRplus. Betyder detta att BBRplus är bättre lämpad för små trafikutbrott, medan BBR utmärker sig vid stora volymer och med uthållig genomströmning?
Anteckningar
I detta test testade vi också Sharp Speed och Net-speeder, men likt BBR2 är deras totala hastighet bara tvåsiffrig, så resultaten ingår inte här.
BBR2 5.4.0-rc6
Ovanstående är hastigheten för BBR2, som inte laddades ner helt på grund av långsam hastighet.
Originallänk:Inloggningen med hyperlänken är synlig.
|