BBR
BBR è un algoritmo TCP di ottimizzazione della congestione della rete open source sviluppato da Google, impegnato a risolvere due problemi: sfruttare appieno la larghezza di banda sui collegamenti di rete con un certo tasso di perdita di pacchetti. Ridurre l'occupazione del buffer sui collegamenti di rete per ridurre la latenza. L'obiettivo del controllo della congestione TCP è massimizzare la larghezza di banda dei collegamenti collo di bottiglia sulla rete.
TCP BBR è un insieme di algoritmi di controllo della congestione TCP progettati e pubblicati da Google. A causa del lento ritardo nel fornire supporto al nuovo kernel e al supporto predefinito per TCP BBR fin dal kernel Linux 4.9, è gradualmente diventato la prima scelta per l'accelerazione unilaterale dei server. BBRplus è una versione migliorata dell'originale BBR modificata dal netizen CSDN dog250. BBRv2, invece, è un'iterazione successiva dell'originale BBR ed è ancora in beta.
Tuttavia, di fronte a una grande varietà di derivati BBR, è raro vedere recensioni di confronto orizzontale su Internet. Alcune delle valutazioni esistenti si basano spesso su esperienze e impressioni soggettive, oppure su test fuori sede con variabili incontrollabili. Così Reizhi ha deciso di prendersi il tempo per fare un test orizzontale locale di BBR, BBRplus e BBR2 per scoprirlo.
Ambiente di test
Usa la workstation VMware per aprire due macchine virtuali Debian, di cui la macchina A è il server, configurare un servizio web tramite Nginx e inserire un file da 100mb per il download speed testing; La macchina B è una macchina client, e usi wget per scaricare. Le due macchine virtuali sono collegate tramite una rete interna virtuale e sono entrambe su SSD SSD.
Metodologia del test
La scheda di rete della macchina A è impostata con un ritardo di 150ms ± 15ms (fluttuazioni casuali) tramite il comando tc, e una perdita di pacchetto dell'8% viene utilizzata per simulare un ambiente di rete generale. Dopo aver installato diverse accelerazioni di branch BBR, scarica il file di test da 100MB sulla macchina B tramite wget più volte (≥5 volte) e ottieni la velocità media della più veloce 3 volte.
Risultati dei test
Guardiamo direttamente i risultati del test: BBRv2, che è ancora in beta, è il più lento in questo test, con quasi la stessa velocità dell'algoritmo cubico predefinito nel kernel 4.19. Sorprendentemente, BBRplus, sebbene significativamente più veloce del BBR originale, è molto indietro rispetto al BBR con 5,5 core.
Quello che mi ha sorpreso nei test è stato che il branch BBRplus saliva molto rapidamente dopo aver avviato il download. Ma per qualche motivo, quando il download arriva a circa il 50% ~ 60%, la velocità scende improvvisamente. Il grafico seguente riporta completamente le variazioni di velocità di BBRplus 4.14.129.
BBRplus 14.04.129
All'inizio, Reizhi pensava fosse un errore di test o altri motivi, ma dopo aver riavviato, reinstallato il sistema, reinstallato il kernel, compilato manualmente il kernel e attivato BBRplus, ecc., non è migliorato. Nello stesso ambiente di test, le prestazioni di velocità di BBR 5.5 sono molto più stabili.
BBR 5.5.10
Sebbene BBR 5.5.10 non sia veloce come BBRplus in termini di accelerazione iniziale e velocità di picco, mantiene una velocità molto buona durante tutto il processo di download e il consumo complessivo di tempo è molto inferiore a quello di BBRplus. Significa che BBRplus è più adatto a raffitte di traffico piccolo, mentre BBR eccelle su grandi volumi e throughput sostenuto?
Annotazioni
In questo test abbiamo provato anche Sharp Speed e Net-speeder, ma come in BBR2, la loro velocità complessiva è solo a due cifre, quindi i risultati non sono inclusi qui.
BBR2 5.4.0-rc6
Quanto sopra è la velocità di BBR2, che non è stata completamente scaricata a causa della bassa velocità.
Link originale:Il login del link ipertestuale è visibile.
|