BBR
BBR on Googlen avoimen lähdekoodin TCP-verkon ruuhkien optimointialgoritmi, joka on sitoutunut ratkaisemaan kaksi ongelmaa: hyödyntämään kaistanleveyden täysimääräisesti verkkoyhteyksissä tietyllä pakettihäviönopeudella. Vähennä puskurin täyttymistä verkkoyhteyksissä viiveen vähentämiseksi. TCP:n ruuhkien hallinnan tavoitteena on maksimoida verkon pullonkaulalinkkien kaistanleveys.
TCP BBR on joukko TCP:n ruuhkien hallintaalgoritmeja, jotka Google on suunnitellut ja julkaissut. Koska uuden ytimen tuki on hidas ja TCP BBR:n oletustuki Linux 4.9 -ytimestä lähtien, siitä on vähitellen tullut ensisijainen valinta palvelinten yksipuoliseen kiihdytykseen. BBRplus on alkuperäisen BBR:n parannettu versio, jonka CSDN netizen dog250 on muokattu. BBRv2 puolestaan on alkuperäisen BBR:n jatkoversio ja on edelleen betavaiheessa.
Kuitenkin, kun BBR-johdannaisia on monenlaisia, on harvinaista nähdä niiden vertailuarvosteluja internetissä. Jotkut nykyisistä arvioinneista perustuvat usein kokemukseen ja subjektiivisiin vaikutelmiin tai ulkopuolisiin testauksiin, joissa muuttujia ei voi hallita. Niinpä Reizhi päätti käyttää aikaa tehdäkseen paikallisen vaakatestin BBRplus- ja BBR2-testeistä selvittääkseen asian.
Testiympäristö
Käytä VMware-työasemaa avataksesi kaksi Debian-virtuaalikonetta, joista kone A on palvelin, perusta verkkopalvelu Nginxin kautta ja sijoittaa 100mb tiedosto latausnopeuden testaukseen; Kone B on asiakaskone, ja lataamiseen käytetään wgetiä. Kaksi virtuaalikonetta on yhdistetty virtuaalisen sisäisen verkon kautta ja molemmat SSD-levyillä.
Testimenetelmät
Koneen A verkkokortti asetetaan viiveeksi 150ms ± 15ms (satunnaiset vaihtelut) tc-komennolla, ja 8 % pakettihäviö käytetään simuloimaan yleistä verkkoympäristöä. Kun olet asentanut eri BBR-haarakiihdytykset, lataa 100MB testitiedosto koneelta B wgetin kautta useita kertoja (≥5 kertaa) ja saat nopeimman keskinopeuden kolme kertaa.
Testitulokset
Katsotaanpa suoraan testituloksia: BBRv2, joka on vielä betavaiheessa, on tämän testin hitain, lähes samalla nopeudella kuin oletuskuutioalgoritmi 4.19-ytimessä. Yllättäen BBRplus, vaikka onkin huomattavasti nopeampi kuin alkuperäinen BBR, jää selvästi BBR:n jälkeen 5,5-ytimisellä.
Yllättävää testauksessani oli se, että BBRplus-haara nousi hyvin nopeasti latauksen aloittamisen jälkeen. Mutta jostain syystä, kun lataus etenee noin 50 % ~ 60 %:iin, nopeus laskee äkillisesti. Seuraava kaavio tallentaa täysin BBRplus 4.14.129:n nopeudenmuutokset.
BBRplus 4.14.129
Aluksi Reizhi luuli sen olevan testivirhe tai muita syitä, mutta uudelleenkäynnistyksen, järjestelmän uudelleenasennuksen, ytimen uudelleenasennuksen, ytimen manuaalisen kääntämisen ja BBRplusin kytkemisen jälkeen tilanne ei parantunut. Samassa testiympäristössä BBR 5.5:n nopeussuorituskyky on paljon vakaampi.
BBR 5.5.10
Vaikka BBR 5.5.10 ei ole yhtä nopea kuin BBRplus käynnistyskiihdytyksen ja huippunopeuden suhteen, se ylläpitää erittäin hyvää nopeutta koko latausprosessin ajan, ja kokonaisajankulutus on huomattavasti pienempi kuin BBRplus:ssa. Tarkoittaako tämä, että BBRplus sopii paremmin pieniin liikennepurskeisiin, kun taas BBR loistaa suurissa volyymeissa ja jatkuvassa läpimenossa?
Huomautukset
Tässä testissä kokeilimme myös Sharp Speediä ja Net-speederiä, mutta kuten BBR2:ssa, niiden kokonaisnopeus on vain kaksinumeroisia, joten tuloksia ei ole tässä mukana.
BBR2 5.4.0-rc6
Yllä oleva on BBR2:n nopeus, jota ei ladattu kokonaan hitaan nopeuden vuoksi.
Alkuperäinen linkki:Hyperlinkin kirjautuminen on näkyvissä.
|