Capa -> FreeBSD -> FreeBSD 9 com alta carga na interface loopback, upload lento via SQUID e placa PCI-e (rodando natd + rinetd + ipfw + squid (não transparente) | Desabilitar TSO (TCP Segmentation Offload)

FreeBSD 9 com alta carga na interface loopback, upload lento via SQUID e placa PCI-e (rodando natd + rinetd + ipfw + squid (não transparente) | Desabilitar TSO (TCP Segmentation Offload)

Passei recentemente por um problema em que a taxa de upload estava muito baixa e os processos de natd e squid, em uma máquina com FreeBSD 9, estavam exageradamente altos.

Após inúmeras pesquisas descobri que placas de rede PCI-e, em FreeBSD 9, não trabalham corretamente quando o TSO (TCP Segmentation Offload) está habilitado.

Por padrão, as interfaces de rede no FreeBSD 9 com placas PCI-express já são levantadas com o TSO habilitado. Para desabilitar, edite o arquivo /etc/sysctl.conf e, ao final da linha, digite:

net.inet.tcp.tso=0

A execução acima fará que, toda vez que o sistema for reiniciado, o sysctl execute esta alteração. Aproveite para desabilitar instantaneamente:

sysctl -w net.inet.tcp.tso=0

Agora desabilitando na interface:

ifconfig emX -tso

Veja uma imagem do tráfego no FreeBSD com o TSO HABILITADO (alta carga desnecessária no loopback zerando o upload):

Captura de Tela 2014-02-22 às 03.44.45

Agora vejamos uma imagem com o TSO DESABILITADO (tráfego normalizado):

Captura de Tela 2014-02-22 às 03.47.56

Resolvido!

Sobre Rodrigo Calado

Rodrigo Calado é graduado em Gestão da Tecnologia da Informação, pós-graduando em Governança de TI pela Universidade Católica de Brasília, co-fundador do Gran Cursos Online e da GG Educacional e pesquisador. Possui convicta paixão pela área de infraestrutura, ensino a distância, concursos públicos e empreendedorismo.

Deixe uma resposta

O seu endereço de email não será publicado. Required fields are marked *

*

Scroll To Top