|||||| Clique aqui!
Vote neste site!
Linux - Como melhorar o desempenho em rede

O kernel do Linux possui uma série de variaveis que podem ser modificadas para melhorar a performance do sistema. Quando falamos de melhorar de performance e mexer em váriaveis de sistemas, no caso iremos e mexer no proc filesystem, devemos tomar cuidado, sendo que a melhor forma é sempre analisar, avaliar asalterações que fazemos, o que pode melhorar o meu servidor, pode nao melhorar o seu.

Quando o servidor esta conversando com alguma aplicação, fazendo um NAT, trabalhando como um firewall ele esta armazenando todas estas informações em RAM, por isso a limitação, ele tem que compartilhar esta RAM com outros dispositivos do sistema, por isso as vezes surge um certo congestionamento, e por isso ele tem que atribuir limite para os trabalhos de rede.

Aqui vai umas dicas de como melhorar o desempenho de um sistema Linux, para trabalho em rede, principalmente como Firewall.

Todas as váriaveis abaixo estão localizada em "/proc/sys", para modifica-las, vamos fazer através do comando sysctl, ao invés de ficar distribuindo echo pelo sistema.

net.core.rmem_maxnet.core.wmem_maxEsta váriavel diz ao sistema o tamanho máximo de leitura e escrita para sockets, podemos tentar dobrar estas váriaveis por exemplo, por padrão o seu sistema estará com 128Kb (Calculo feito pelo proprio sistema no boot, baseado em sua memória RAM):

sysctl -w net.core.rmem_max=256000 >> /etc/sysctl.confsysctl -w net.core.wmem_max=256000 >> /etc/sysctl.conf

Obs. Esta váriavel esta disponível também caso voce deseja aumentar apenas o buffer da pilha TCP/IP. Basta alterar o caminho para:

net.ipv4.wmem_max
net.ipv4.rmem_max

net.core.netdev_max_backlog

Este parametro diz ao sistema o número maximo de pacotes que podem ser enfileirados para entregar ao device de rede. Caso a sua rede seja de alto desempenho:

sysctl -w net.core.netdev_max_backlog=2000 >> /etc/sysctl.conf

net.core.somaxconn

Esta váriavel seta o máximo permitido de conexõs no backlog através da função listen() do sistema. Quando o número conexões alcança este valor, conexões futuras são descartadas.

sysctl -w net.core.somaxconn=256 >> /etc/sysctl.conf

net.ipv4.tcp_max_syn_backlog

Esta váriavel controla a fila de TCP Syn para cada porta. Conexões novas são armazenadas até ela ser aceita pelo servidor. Se existir mais conexões do que o valor especificado por esta váriavel a conexão será rejeitada.

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

Estas são algumas, das muitas váriaveis que podem melhor o desempenho de seu servidor, lembre-se este valores podem ser aumentados, dimunuindos, para ajustes conforme a sua necessidade, é só testar.

Nenhum comentário: