ΒΒΡ
Το BBR είναι ένας αλγόριθμος βελτιστοποίησης συμφόρησης δικτύου TCP ανοιχτού κώδικα από την Google, η οποία δεσμεύεται να λύσει δύο προβλήματα: την πλήρη χρήση του εύρους ζώνης σε συνδέσεις δικτύου με συγκεκριμένο ποσοστό απώλειας πακέτων. Μειώστε την κατάληψη buffer στις συνδέσεις δικτύου για να μειώσετε τον λανθάνοντα χρόνο. Ο στόχος του ελέγχου συμφόρησης TCP είναι να μεγιστοποιήσει το εύρος ζώνης των συνδέσεων συμφόρησης στο δίκτυο.
Το TCP BBR είναι ένα σύνολο αλγορίθμων ελέγχου συμφόρησης TCP που σχεδιάστηκε και δημοσιεύτηκε από την Google. Λόγω της αργής καθυστέρησης στην παροχή υποστήριξης για τον νέο πυρήνα και της προεπιλεγμένης υποστήριξης για το TCP BBR από τον πυρήνα Linux 4.9, έχει γίνει σταδιακά η πρώτη επιλογή για μονομερή επιτάχυνση διακομιστή. Το BBRplus είναι μια βελτιωμένη έκδοση του αρχικού BBR που τροποποιήθηκε από το CSDN netizen dog250. Το BBRv2, από την άλλη πλευρά, είναι μια επανάληψη του αρχικού BBR και είναι ακόμα σε beta.
Ωστόσο, ενόψει μιας μεγάλης ποικιλίας παραγώγων BBR, είναι σπάνιο να δούμε οριζόντιες κριτικές σύγκρισης αυτών στο Διαδίκτυο. Ορισμένες από τις υπάρχουσες αξιολογήσεις βασίζονται συχνά σε εμπειρία και υποκειμενικές εντυπώσεις ή σε δοκιμές εκτός έδρας με ανεξέλεγκτες μεταβλητές. Έτσι, ο reizhi αποφάσισε να αφιερώσει χρόνο για να κάνει μια τοπική οριζόντια δοκιμή των BBR, BBRplus και BBR2 για να το μάθει.
Περιβάλλον δοκιμής
Χρησιμοποιήστε το σταθμό εργασίας VMware για να ανοίξετε δύο εικονικές μηχανές Debian, εκ των οποίων η μηχανή Α είναι ο διακομιστής, ρυθμίστε μια υπηρεσία web μέσω του Nginx και τοποθετήστε ένα αρχείο 100mb για δοκιμή ταχύτητας λήψης. Το μηχάνημα Β είναι ένα μηχάνημα-πελάτης και χρησιμοποιείτε το wget για λήψη. Οι δύο εικονικές μηχανές συνδέονται μέσω ενός εικονικού εσωτερικού δικτύου και βρίσκονται και οι δύο σε SSD SSD.
Μεθοδολογία δοκιμής
Η κάρτα δικτύου του μηχανήματος Α έχει ρυθμιστεί σε καθυστέρηση 150 ms ± 15 ms (τυχαίες διακυμάνσεις) μέσω της εντολής tc και η απώλεια πακέτων 8% χρησιμοποιείται για την προσομοίωση ενός γενικού περιβάλλοντος δικτύου. Αφού εγκαταστήσετε διαφορετική επιτάχυνση διακλάδωσης BBR, κατεβάστε το αρχείο δοκιμής 100 MB στο μηχάνημα B μέσω του wget αρκετές φορές (≥5 φορές) και λάβετε τη μέση ταχύτητα του ταχύτερου 3 φορές.
Αποτελέσματα δοκιμών
Ας δούμε απευθείας τα αποτελέσματα των δοκιμών, το BBRv2, το οποίο είναι ακόμα σε beta, είναι το πιο αργό σε αυτή τη δοκιμή, με σχεδόν την ίδια ταχύτητα με τον προεπιλεγμένο κυβικό αλγόριθμο στον πυρήνα 4.19. Παραδόξως, το BBRplus, αν και σημαντικά ταχύτερο από το αρχικό BBR, είναι πολύ πίσω από το BBR με 5,5 πυρήνες.
Αυτό που ήταν πολύ εκπληκτικό στις δοκιμές μου ήταν ότι ο κλάδος BBRplus ανέβηκε πολύ γρήγορα μετά την έναρξη της λήψης. Αλλά για κάποιο λόγο, όταν η λήψη προχωρήσει σε περίπου 50% ~ 60%, η ταχύτητα θα πέσει ξαφνικά. Το παρακάτω γράφημα καταγράφει πλήρως τις αλλαγές ταχύτητας του BBRplus 4.14.129.
BBRplus 4.14.129
Στην αρχή, ο Reizhi θεώρησε ότι ήταν σφάλμα δοκιμής ή άλλοι λόγοι, αλλά μετά την επανεκκίνηση, την επανεγκατάσταση του συστήματος, την επανεγκατάσταση του πυρήνα, τη μη αυτόματη μεταγλώττιση του πυρήνα και την ενεργοποίηση του BBRplus κ.λπ., δεν βελτιώθηκε. Κάτω από το ίδιο περιβάλλον δοκιμής, η απόδοση ταχύτητας του BBR 5.5 είναι πολύ πιο σταθερή.
ΒΒΡ 5.5.10
Αν και το BBR 5.5.10 δεν είναι τόσο γρήγορο όσο το BBRplus όσον αφορά την επιτάχυνση εκκίνησης και την ταχύτητα αιχμής, διατηρεί πολύ καλή ταχύτητα σε όλη τη διαδικασία λήψης και η συνολική κατανάλωση χρόνου είναι πολύ χαμηλότερη από το BBRplus. Αυτό σημαίνει ότι το BBRplus είναι πιο κατάλληλο για εκρήξεις μικρής κίνησης, ενώ το BBR υπερέχει σε μεγάλους όγκους και σταθερή απόδοση;
Σχολιασμούς
Σε αυτή τη δοκιμή, δοκιμάσαμε επίσης το Sharp Speed και το Net-speeder, αλλά παρόμοια με το BBR2, η συνολική τους ταχύτητα είναι μόνο διψήφια, επομένως τα αποτελέσματα δεν περιλαμβάνονται εδώ.
BBR2 5.4.0-rc6
Το παραπάνω είναι η ταχύτητα του BBR2, το οποίο δεν κατέβηκε πλήρως λόγω χαμηλής ταχύτητας.
Αρχικός σύνδεσμος:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
|