É possível forçar o dimensionamento da janela TCP para um valor mais alto?

2

É possível aumentar o fator de escala da janela TCP no Linux (CentOS 7.2)? Eu tenho uma rede longa e gorda (100 Mbps) de Londres a Chicago e estou obtendo um throughput de 16 Mbps em TCP em um sftp de uma máquina de Londres (Windows Server 2012r2) para minha máquina Chicago CentOS. Eu gostaria de jogar com o fator de escala e ver se minha taxa de transferência muda.

Minha latência é de 88 ms ida e volta.

Eu pergunto porque com UDP eu ganho mais de 90 Mbps, então eu estava pensando que seria legal talvez dobrar minha taxa de transferência TCP se eu pudesse.

Eu entendo que o TCP é orientado a conexões, requer um ACK, etc., e que eu realmente possa afetar negativamente o meu throughput. O que estou fazendo é adivinhar a sabedoria dos criadores e tentar assumir o controle, em vez de permitir que o auto-ajuste se autotune.

O Wireshark mostra que o meu sftp do Windows para o Linux está realmente usando o escalonamento da janela TCP, então sei que é suportado no meu caminho.

Caso contrário, eu vou olhar para TCP multipath ( link ) para o meu LFN.

Obrigado.

    
por Mike S 23.05.2016 / 17:21

1 resposta

0

Você pode aumentar o fator de escala da janela tcp aumentando net.core.rmem_max e net.ipv4.tcp_rmem. Ao aumentar o rmem (buffer de memória do receptor), aumenta indiretamente * rcv_wscale .

Por exemplo, aumentando o buffer da janela de recepção para 32 MB, obtive um fator de escala de janela de 1024:

echo 'net.core.rmem_max=33554432' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_rmem=4096 33554432 33554432' >> /etc/sysctl.conf
sysctl -p

De qualquer forma, lendo seus comentários anteriores, parece-me que você tem um rendimento vinculado ao remetente, portanto, alterar os parâmetros do receptor não melhorará o bps. É possível postar um arquivo de captura?

    
por 05.06.2016 / 08:22