Eu queria baixar um arquivo grande (1 GB) do nosso servidor via SFTP. Eu tenho uma conexão de cabo de 400 Mbps que, no Windows, me dá uma velocidade de download de ~ 32 Mbyte / s com o WinSCP da minha máquina Windows.
Se tentar baixar esse arquivo na minha Mint Box via SFTP, ele fica @ 10Mbyte / s. Se eu tentar fazer o download do mesmo arquivo via HTTP, recebo minha banda completa.
Os dois computadores estão conectados ao mesmo switch, com a mesma conexão ao roteador do modem a cabo. Eles têm o mesmo ping e no iperf também quase as mesmas taxas. Ambos são mais capazes de lidar com essas velocidades de transferência, eu não estou falando de PI de framboesa, mas o mais novo Intel Core I5.
O Throtteling deve estar no Linux (Mint Sonya) de alguma forma. Eu tentei pesquisar IPTables, ou tc para qualquer regra que poderia fazer isso, mas eu não encontrei nenhum. Também não sou especialista em IPTables e linux construído em QOS.
Alguém por favor pode me ajudar a encontrar o Gargalo aqui? Eu quero baixar arquivos Fullspeed com SFTP.
SOLUÇÃO:
Encontrei a solução por acidente.
Tenho certeza de que não sou o único que sofre com esse comportamento limitador do Kernel do Linux no Mint. Então eu decidi postar a solução aqui:
Parece que as configurações de memória TCP do kernel não são otimizadas para conexões de Internet de "alta velocidade". E um "leigo" como eu procura por "SFTP Throtteling" ou "Linux SFTP Download Limited" e não recebe resposta para este problema. Quando, na verdade, é isso que acontece.
Então eu encontrei um site de ajuste de TCP que tem opções de Ajuste do Kernel do TCP (de 2003):
Estes efetuam o consumo de Send and Recieve Memory para o protocolo TCP. Este site tem alguns valores antigos e eu adaptei esses valores para atender às minhas necessidades.
Você pode configurá-los em /etc/sysctl.conf, reinicializar e aproveitar a velocidade total do sftp com mais de 10MByte / s, mesmo com os valores apresentados no site. Meu palpite é que o SFTP precisaria de mais memória para atingir velocidade máxima do que HTTP.
Como meu conhecimento é limitado ao escrever sobre as opções de rede do kernel. Eu não compartilho meus valores aqui. Posso, no entanto, se solicitado.
Espero que ajude alguém.
Tags ssh sftp iptables linux-mint