BBR
BBR ist ein Open-Source-Algorithmus zur TCP-Netzwerküberlastungsoptimierung von Google, der sich der Lösung von zwei Problemen verschrieben hat: die vollständige Nutzung der Bandbreite auf Netzwerkverbindungen mit einer bestimmten Paketverlustrate. Reduziere die Pufferbelegung auf Netzwerkverbindungen, um die Latenz zu reduzieren. Das Ziel der TCP-Überlastungskontrolle ist es, die Bandbreite der Engpassverbindungen im Netzwerk zu maximieren.
TCP BBR ist eine Sammlung von TCP-Staukontrollalgorithmen, die von Google entwickelt und veröffentlicht wurden. Aufgrund der langsamen Verzögerung bei der Unterstützung für den neuen Kernel und der Standardunterstützung für TCP BBR seit dem Linux-4.9-Kernel ist er allmählich zur ersten Wahl für die einseitige Serverbeschleunigung geworden. BBRplus ist eine verbesserte Version des ursprünglichen BBR, modifiziert von CSDN-Netizen dog250. BBRv2 hingegen ist eine Fortsetzung des ursprünglichen BBR und befindet sich noch in der Beta.
Angesichts einer Vielzahl von BBR-Derivaten ist es jedoch selten, horizontale Vergleichsbewertungen davon im Internet zu sehen. Einige der bestehenden Bewertungen basieren oft auf Erfahrungen und subjektiven Eindrücken oder auf externen Tests mit unkontrollierbaren Variablen. Also beschloss Reizhi, sich die Zeit zu nehmen, einen lokalen horizontalen Test von BBR, BBRplus und BBR2 durchzuführen, um das herauszufinden.
Testumfeld
Verwenden Sie VMware Workstation, um zwei Debian-virtuelle Maschinen zu öffnen, wobei Maschine A der Server ist, richten Sie einen Webservice über Nginx ein und legen Sie eine 100-MB-Datei zum Download-Geschwindigkeitstest ein; Rechner B ist ein Client-Rechner, und du nutzt wget zum Herunterladen. Die beiden virtuellen Maschinen sind über ein virtuelles internes Netzwerk verbunden und befinden sich beide auf SSDs.
Testmethodik
Die Netzwerkkarte von Maschine A wird durch den tc-Befehl auf eine Verzögerung von 150 ms ± 15 ms (zufällige Schwankungen) eingestellt, und 8 % Paketverlust werden verwendet, um eine allgemeine Netzwerkumgebung zu simulieren. Nach der Installation verschiedener BBR-Branch-Beschleunigung lade die 100MB-Testdatei auf Rechner B mehrmals (≥5 Mal) über wget herunter und erziele die Durchschnittsgeschwindigkeit der schnellsten 3 Mal.
Testergebnisse
Schauen wir uns die Testergebnisse direkt an: BBRv2, das sich noch in der Beta befindet, ist in diesem Test am langsamsten und hat fast die gleiche Geschwindigkeit wie der Standard-Kubikalgorithmus im 4.19-Kernel. Überraschenderweise liegt BBRplus, obwohl deutlich schneller als das ursprüngliche BBR, mit 5,5 Kerne weit hinter dem BBR zurück.
Was bei meinen Tests sehr überraschend war, war, dass der BBRplus-Zweig nach dem Start des Downloads sehr schnell gestiegen ist. Aber aus irgendeinem Grund sinkt die Geschwindigkeit plötzlich, wenn der Download auf etwa 50 % ~ 60 % voranschreitet. Das folgende Diagramm dokumentiert vollständig die Geschwindigkeitsänderungen von BBRplus 4.14.129.
BBRplus 4.14.129
Zunächst hielt Reizhi es für einen Testfehler oder andere Gründe, aber nach Neustart, Neuinstallation des Systems, Neuinstallation des Kernels, manuellem Kompilieren und Aktivieren von BBRplus usw. verbesserte sich das Ergebnis nicht. Unter derselben Testumgebung ist die Geschwindigkeitsleistung von BBR 5.5 deutlich stabiler.
BBR 5.5.10
Obwohl BBR 5.5.10 in Bezug auf Startbeschleunigung und Spitzengeschwindigkeit nicht so schnell ist wie BBRplus, hält es während des gesamten Downloads eine sehr gute Geschwindigkeit, und der Gesamtzeitaufwand ist deutlich geringer als bei BBRplus. Bedeutet das, dass BBRplus besser für kleine Datenstöße geeignet ist, während BBR bei großen Volumina und anhaltendem Durchsatz glänzt?
Anmerkungen
In diesem Test haben wir auch Sharp Speed und Net-speeder ausprobiert, aber ähnlich wie bei BBR2 liegt deren Gesamtgeschwindigkeit nur im zweistelligen Bereich, daher sind die Ergebnisse hier nicht enthalten.
BBR2 5.4.0-rc6
Das oben Genannte ist die Geschwindigkeit von BBR2, das aufgrund der langsamen Geschwindigkeit nicht vollständig heruntergeladen wurde.
Originallink:Der Hyperlink-Login ist sichtbar.
|