Nesse post vou descrever como otimizar o seu linux para múltiplas conexões e alto tráfego, como por exemplo quando você utiliza o linux de roteador na rede, como servidor de email, web e arquivos, com várias máquinas em rede navegando na internet, com streamings, softwares de mensagens, p2p, entre outros.. tudo ao mesmo tempo!
Todos os comandos de configuração do kernel podem ser digitados na shell a qualquer momento quanto inseridos em um script de inicialização ou salvos em /etc/sysctl.conf.
Para começar, é interessante reduzir o tempo de limpeza da tabela ARP e expandir o seu tamanho, (indispensável se você utiliza uma conexão de internet a cabo, pois esse tipo de tecnologia inunda o cliente com pacotes de requisições e respostas de mac por parte dos roteadores, levando o linux a esgotar sua modesta tabela ARP e reclamar no console “Neighbour table overflow”).
sysctl -w net.ipv4.neigh.default.gc_interval=15
sysctl -w net.ipv4.neigh.default.gc_thresh1=4096
sysctl -w net.ipv4.neigh.default.gc_thresh2=8192
sysctl -w net.ipv4.neigh.default.gc_thresh3=16384
É relevante também aumentar o número de conexões simultâneas e reduzir o tempo de espera entre elas, utilizando as seguintes opções:
sysctl -w net.core.somaxconn=20480
sysctl -w net.core.netdev_max_backlog=2048
sysctl -w net.ipv4.tcp_fin_timeout=10
sysctl -w net.ipv4.tcp_tw_recycle=1
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_syn_retries=1
sysctl -w net.ipv4.tcp_synack_retries=1
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
Nas máquinas windows que estão atrás do seu super roteador linux pode ser interessante expandir o número máximo de conexões que o Internet Explorer pode utilizar ao se conectar a um site, carregando assim todas as imagens de um site ao mesmo tempo, efetuando diversos downloads simultâneamente como em um gerenciador de downloads… é só editar o registro do windows (ou salvar o texto a seguir em um arquivo .reg e mesclá-lo ao registro do windows).
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MaxConnectionsPerServer"=dword:00000008
"MaxConnectionsPer1_0Server"=dword:00000010
Por fim, podemos também aumentar o número de conexões “half-open*” suportadas no Windows XP (no tcp.sys) para 256 (ou maior, 1024.. 2048). Instale o BitComet para facilitar a alteração, e busque pela opção “half-open connections” por entre as configurações do programa.
* Conexões “half-open“ (conexões “meio-abertas”): Enquanto ocorre uma tentativa de conexão, antes da mesma ser definida como estabelecida ou recusada ela é classificada “em-aberto”, com mais conexões meio-abertas suportadas por exemplo, o seu software p2p tenta se conectar a diversas fontes simultâneamente… agilizando o início do seu download!
Com essas otimizações tanto em sua máquina linux quanto estações windows, a sua nova Internet estará Surpreendente!!! 😀
Parabéns Eduardo, excelente post.
Abs.