BBR
BBR é um algoritmo TCP de otimização de congestionamento de redes open source desenvolvido pelo Google, que está comprometido em resolver dois problemas: fazer uso total da largura de banda em links de rede com uma certa taxa de perda de pacotes. Reduza a ocupação do buffer em links de rede para diminuir a latência. O objetivo do controle de congestionamento TCP é maximizar a largura de banda dos links de gargalo na rede.
TCP BBR é um conjunto de algoritmos de controle de congestão TCP projetados e publicados pelo Google. Devido ao atraso lento no suporte ao novo kernel e ao suporte padrão para TCP BBR desde o kernel Linux 4.9, ele gradualmente se tornou a primeira escolha para aceleração unilateral de servidor. BBRplus é uma versão aprimorada do BBR original modificada pelo netizen do CSDN dog250. BBRv2, por outro lado, é uma iteração sucessora do BBR original e ainda está em beta.
No entanto, diante de uma grande variedade de derivativos do BBR, é raro ver avaliações horizontais de comparação deles na Internet. Algumas das avaliações existentes geralmente se baseiam em experiências e impressões subjetivas, ou em testes externos com variáveis incontroláveis. Então Reizhi decidiu dedicar um tempo para fazer um teste horizontal local de BBR, BBRplus e BBR2 para descobrir.
Ambiente de teste
Use a estação de trabalho VMware para abrir duas máquinas virtuais Debian, sendo a máquina A o servidor, configurar um serviço web através do Nginx e colocar um arquivo de 100mb para teste de velocidade de download; A Máquina B é uma máquina cliente, e você usa o WGET para baixar. As duas máquinas virtuais estão conectadas por meio de uma rede interna virtual e ambas estão em SSDs SSD.
Metodologia de teste
A placa de rede da máquina A é ajustada para um atraso de 150ms ± 15ms (flutuações aleatórias) através do comando tc, e uma perda de pacotes de 8% é usada para simular um ambiente geral de rede. Depois de instalar diferentes acelerações de desvio BBR, baixe o arquivo de teste de 100MB na máquina B pelo wget várias vezes (≥5 vezes) e obtenha a velocidade média da mais rápida 3 vezes.
Resultados dos testes
Vamos olhar diretamente para os resultados do teste: o BBRv2, que ainda está em beta, é o mais lento deste teste, com quase a mesma velocidade do algoritmo cúbico padrão no kernel 4.19. Surpreendentemente, o BBRplus, embora significativamente mais rápido que o BBR original, está muito atrás do BBR com 5,5 núcleos.
O que foi muito surpreendente nos meus testes foi que o branch do BBRplus subiu muito rápido após iniciar o download. Mas por algum motivo, quando o download avança para cerca de 50% ~ 60%, a velocidade cai de repente. O gráfico a seguir registra completamente as mudanças de velocidade do BBRplus 4.14.129.
BBRplus 14.04.129
A princípio, o Reizhi achou que era um erro de teste ou outros motivos, mas depois de reiniciar, reinstalar o sistema, reinstalar o kernel, compilar manualmente o kernel e ativar o BBRplus, etc., não melhorou. No mesmo ambiente de teste, o desempenho de velocidade do BBR 5.5 é muito mais estável.
BBR 5.5.10
Embora o BBR 5.5.10 não seja tão rápido quanto o BBRplus em termos de aceleração inicial e velocidade máxima, ele mantém uma velocidade muito boa durante todo o processo de download, e o consumo total de tempo é muito menor que o do BBRplus. Isso significa que o BBRplus é mais adequado para picos de tráfego pequeno, enquanto o BBR se destaca em grandes volumes e throughput sustentado?
Anotações
Neste teste, também testamos Sharp Speed e Net-speeder, mas, assim como no BBR2, a velocidade geral deles está apenas na casa dos dois dígitos, então os resultados não estão incluídos aqui.
BBR2 5.4.0-rc6
O que foi dito acima é a velocidade do BBR2, que não foi totalmente baixada devido à baixa velocidade.
Link original:O login do hiperlink está visível.
|