Como aumentar a velocidade da Internet do servidor Linux com TCP BBR
BBR (Bottleneck Bandwidth e RTT) é um algoritmo de controle de congestionamento relativamente novo escrito por engenheiros de software do Google. É a solução mais recente das persistentes tentativas do Google de tornar a Internet mais rápida através do protocolo TCP – o carro-chefe da Internet.
O objetivo principal do BBR é inicializar a utilização da rede e reduzir filas (que resultam em atividade lenta da rede): ele deve ser implantado em servidores, mas não na rede ou no lado do cliente. No Linux, o BBR é implementado na versão do kernel 4.9 ou superior.
Neste artigo, explicaremos brevemente o TCP BBR e, em seguida, mostraremos como aumentar a velocidade da Internet de um servidor Linux usando o controle de congestionamento TCP BBR no Linux.
Requisitos
Você deve ter o kernel Linux versão 4.9 ou superior instalado, compilado com estas opções (seja como um módulo ou embutido nele):
- CONFIG_TCP_CONG_BBR
- CONFIG_NET_SCH_FQ
- CONFIG_NET_SCH_FQ_CODEL
Como verificar os módulos do kernel no Linux
Para verificar se as opções acima estão compiladas em seu kernel, execute estes comandos:
cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'
cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'
Para atualizar seu kernel, confira estes guias:
- Como atualizar o kernel para a versão mais recente no Ubuntu
- Como instalar ou atualizar para a versão mais recente do kernel no CentOS 7
Habilitando o controle de congestionamento TCP BBR no Linux
BBR funciona efetivamente com ritmo, portanto deve ser empregado junto com o agendador de pacotes sem classe fq qdisc para ritmo de tráfego. Para encontrar mais informações sobre fq qdisc, digite:
man tc-fq
Com o bom entendimento do BBR, agora você pode configurá-lo em seu servidor. Abra o arquivo /etc/sysctl.conf usando seu editor favorito.
vi /etc/sysctl.conf
Adicione as opções abaixo no final do arquivo.
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
Salve e feche o arquivo. Em seguida, efetue as alterações no sistema usando o comando sysctl.
sysctl --system
Na captura de tela, você pode ver que as opções foram adicionadas com os valores apropriados.
Testando a configuração de controle de congestionamento TCP BBR
Depois de realizar as configurações necessárias, você pode testar se está praticamente funcionando. Existem diversas ferramentas para medir a velocidade da largura de banda, como Speedtest-CLI:
- Como testar a velocidade da sua Internet bidirecionalmente a partir da linha de comando usando a ferramenta ‘Speedtest-CLI’
Outras ferramentas incluem bmon (monitor de largura de banda), nload, Wget – downloader de arquivos baseado em comando e cURL, que mostram a largura de banda da rede; você pode usá-los para testes.
Repositório BBR Github: https://github.com/google/bbr
Você também pode ler os seguintes artigos relacionados.
- Configure seu próprio “Speedtest Mini Server” para testar a velocidade da largura de banda da Internet
- Como limitar a largura de banda da rede usada por aplicativos em um sistema Linux com Trickle
- Como alterar os parâmetros de tempo de execução do kernel de maneira persistente e não persistente
Neste artigo, mostramos como aumentar a velocidade da Internet do servidor Linux usando o controle de congestionamento TCP BBR no Linux. Teste-o de forma abrangente em diferentes cenários e envie-nos comentários importantes por meio do formulário de comentários abaixo.
Crédito: Nixcraft