X-2
,

Como Melhorar a Abertura de Canais no Xtream Codes

TCP BBR

A utilização do TCP BBR (Bottleneck Bandwidth and Round-trip propagation time) em serviços Linux para streams é fundamental para otimizar a transmissão de dados em redes congestionadas e melhorar significativamente a qualidade e a confiabilidade das transmissões de vídeo e áudio em tempo real. O TCP BBR, ao focar na maximização do uso da largura de banda disponível e na minimização da latência, permite que os pacotes de dados sejam enviados de forma mais eficiente, reduzindo os problemas comuns de buffering e interrupções em streams. Além disso, ao se adaptar rapidamente às mudanças nas condições da rede, o TCP BBR consegue manter uma experiência de usuário suave e de alta qualidade, mesmo em cenários de rede instáveis, tornando-o uma escolha ideal para serviços de streaming que exigem transmissões de dados contínuas e de alta performance em sistemas operacionais baseados em Linux.

Otimização do Nginx

A otimização do kernel para Nginx realizada pelo script envolve a adição de configurações específicas ao arquivo /etc/sysctl.conf, que é fundamental para ajustar o comportamento do sistema operacional em nível de kernel. Estas configurações são cuidadosamente escolhidas para melhorar a capacidade do servidor de lidar com um grande número de conexões simultâneas, um requisito comum para servidores web de alto desempenho como o Nginx. Ao aumentar o número máximo de conexões pendentes e o backlog de dispositivos de rede, o servidor pode aceitar e processar um volume maior de requisições sem recusar novas conexões. Adicionalmente, ajustar o TCP para permitir a reutilização de sockets em estado TIME-WAIT e diminuir o tempo de espera para o fechamento de conexões TCP melhora a eficiência da utilização dos recursos de rede. Essas otimizações visam reduzir a latência, aumentar a throughput e melhorar a resiliência do servidor frente a picos de tráfego, garantindo uma experiência de usuário mais fluida e responsiva.

O que o Nosso Script faz?

  1. Verificação de Privilégios: O script começa verificando se o usuário que o está executando tem privilégios de root. Isso é importante porque muitas das operações a seguir exigem permissões de administrador para modificar arquivos de configuração do sistema e aplicar as mudanças. Se o usuário não for root, o script exibe uma mensagem de erro e termina.

  2. Backup do Arquivo de Configuração do Kernel: O script faz um backup do arquivo /etc/sysctl.conf, que contém parâmetros de configuração do kernel do Linux. Ele cria um arquivo de backup nomeado com a data atual para evitar a perda de configurações existentes, permitindo uma recuperação fácil em caso de problemas com as novas configurações.

  3. Otimização do Kernel para Nginx: Em seguida, o script adiciona várias linhas ao arquivo /etc/sysctl.conf para otimizar o desempenho do kernel em harmonia com um servidor Nginx. Essas otimizações incluem aumentar o número máximo de conexões pendentes e o backlog de dispositivos de rede, além de ajustar o comportamento do TCP para reutilizar TIME-WAIT sockets e reduzir o tempo de espera para fechamento de conexões TCP.

  4. Habilitar TCP BBR: O script também habilita o TCP BBR adicionando configurações ao mesmo arquivo de configuração. O TCP BBR é um algoritmo de controle de congestionamento que melhora significativamente a throughput da rede e a latência, especialmente em conexões de banda larga com alta latência.

  5. Aplicar Configurações: Por fim, o script aplica todas as novas configurações de kernel modificando o arquivo /etc/sysctl.conf e então executando sysctl -p para ativar as mudanças sem a necessidade de reiniciar o sistema. Isso garante que as otimizações entrem em vigor imediatamente.

  6. Mensagem de Confirmação: Após aplicar as configurações, o script exibe uma mensagem indicando que as otimizações do kernel foram aplicadas e que o TCP BBR foi habilitado, confirmando que as operações foram concluídas com sucesso.

Criando o Script

  1. Crie o arquivo com o comando abaixo:
				
					vi kernel.sh
				
			

2. Adicione o script abaixo:

				
					#!/bin/bash

# Verificar se o usuário é root
if [ "$(id -u)" -ne 0 ]; then
    echo "Este script deve ser executado como root"
    exit 1
fi

# Fazer backup do arquivo de configuração original do kernel e do fstab
current_date=$(date +"%Y-%m-%d")
kernel_config_file="/etc/sysctl.conf"
fstab_file="/etc/fstab"
backup_kernel_file="/etc/sysctl.conf.backup-$current_date"
backup_fstab_file="/etc/fstab.backup-$current_date"

cp "$kernel_config_file" "$backup_kernel_file"
echo "Backup do arquivo de configuração do kernel criado em: $backup_kernel_file"

cp "$fstab_file" "$backup_fstab_file"
echo "Backup do arquivo fstab criado em: $backup_fstab_file"

# Desativar a swap permanentemente
# Comentar a linha referente à swap no /etc/fstab para prevenir sua ativação no boot
sed -i '/ swap / s/^/#/' "$fstab_file"
echo "Swap desativada permanentemente no arquivo fstab."

# Desativar a swap imediatamente para a sessão atual
swapoff -a
echo "Swap desativada para a sessão atual."

# Otimizar o kernel para combinar com as configurações do script Nginx
cat << EOF >> "$kernel_config_file"

# Otimizações do kernel para combinar com as configurações do script Nginx
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_max_tw_buckets = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 10
EOF

# Habilitar TCP BBR
cat << EOF >> "$kernel_config_file"

# Habilitar TCP BBR
# O net.core.default_qdisc define a disciplina de enfileiramento padrão. 'fq' é para FQ-CoDel, que ajuda a controlar o bufferbloat.
# O net.ipv4.tcp_congestion_control define o algoritmo de controle de congestionamento TCP. 'bbr' é o algoritmo BBR da Google.
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
EOF

# Aplicar as configurações do kernel
sysctl -p

echo "Otimizações do kernel aplicadas, TCP BBR habilitado, e swap desativada permanentemente."
				
			

3. Para sair e salvar um arquivo no vi, pressione Esc para entrar no modo de comando, e então digite :wq seguido por Enter.

4. Em seguida dê permissão para executar o arquivo

				
					chmod +x kernel.sh
				
			

5. Posteriormente basta executar o arquivo com o comando abaixo:

				
					bash -x kernel.sh
				
			

Esse script é particularmente útil para administradores de sistemas que desejam otimizar servidores Linux para melhor desempenho de rede, especialmente em ambientes de alta carga, como servidores web, bancos de dados, ou serviços de streaming.

Tempo limitado de oferta
Ganhe 10% de desconto no sua primeira compra na Xtream Codes
Inscreva-se em nosso boletim informativo para obter informações atualizadas, promoções e insights.​