FTP / FTPS / SFTP / SCP - Comparação de velocidade [fechada]

17

Como FTP, FTPS, SFTP e SCP se comparam em termos de taxa de transferência e como posso compará-los por meio de testes?

    
por Graham 05.12.2013 / 17:17

4 respostas

24

Se você tiver uma rede de longa distância rápida, verá que sftp e scp têm aproximadamente a mesma velocidade, que é lenta. Ambos sofrem de problemas de desempenho no openssh subjacente. Com o hardware moderno, isso não se deve à sobrecarga de criptografia, mas sim devido a problemas com a implementação do openssh - ele implementa seu próprio mecanismo de janelas internas que se depara com conexões rápidas.

Esses problemas se tornam mais óbvios em conexões de longa distância (maior latência), mas eu tenho experimentado lentidão mesmo em LANs.

Eles são bem documentados e há patches disponíveis para corrigir o problema. Corrigindo uma das extremidades da conexão pode ajudar; o ideal seria que você remendasse ambas as extremidades. Para obter mais informações e os patches, consulte SSH de alto desempenho no Pittsburgh Supercomputer Center.

BTW, sobrecarga de criptografia pode se tornar um problema também, uma vez que o problema de janelas é resolvido. Os patches têm correções para isso também.

Enquanto isso, você verá que ftp é lamentavelmente inseguro; envia senhas em texto simples.

ftps Penso que envolve o protocolo ftp no SSL. provavelmente é mais rápido que o SFTP / SCP não corrigido.

Uma observação final: na minha experiência, o cliente WinSCP é (pelo menos às vezes) dolorosamente lento. Eu não sei por que, mas com base no seu FAQ eu não sou a única pessoa que teve esse problema. Então, se você está scp'ing do Windows, e parece lento, tente um cliente diferente. Mesmo com um servidor openssh não corrigido, você pode fazer muito, muito melhor com um cliente diferente. Não tenho certeza quais são bons clientes, infelizmente.

    
por 05.12.2013 / 21:09
4

Em geral, todos os protocolos terão o mesmo desempenho. É mais provável que você seja limitado pela velocidade de sua rede ou disco do que pelo protocolo.

As versões mais antigas do OpenSSH (SFTP / SCP) usavam um tamanho de janela fixo que limitaria a velocidade em redes de alta latência (por exemplo, transatlântico). Existe um conjunto de correções para corrigir este problema chamado HPN (High performance networking) e está incluído nas instalações mais modernas do OpenSSH.

Se você estiver executando em uma situação como um gigabit ou um link de LAN mais rápido e uma CPU mais lenta, o SFTP / SCP poderá se tornar um gargalo. Você será capaz de dizer, porque o processo ssh / scp / sftp estará usando 100% de cpu no envio ou recebimento de hospedagem. Se você estiver usando uma versão mais nova do OpenSSH (6.4+), poderá ativar uma versão encadeada da cifra AES que poderá usar mais de um núcleo para manipular a criptografia e será menos provável que seja limitada pela CPU em vez de pelo disco. ou largura de banda de rede.

Se você controlar o lado de envio e recebimento, o OpenSSH 6+ também tem um modo opcional 'NONECIPHER'. Isso usa as chaves / criptografias regulares etc para fazer o login na máquina remota, mas depois cai em uma conexão não criptografada para a cópia real do arquivo. Isso removerá essa sobrecarga da CPU. Há salvaguardas embutidas no NONECIPHER do que impedir que você obtenha um shell que não esteja criptografado.

No final, o protocolo não deve ser a limitação da velocidade, embora versões mais antigas do ssh tenham problemas com links de alta latência.

    
por 08.12.2013 / 05:51
3

Com base na sobrecarga de criptografia, eu diria que o FTP simples provavelmente tem um desempenho um pouco melhor do que os outros protocolos, mas provavelmente é insignificante. Eu usaria o protocolo que fornece a segurança que você precisa primeiro, então me preocupo com o throughput.

Dito isto, você terá que configurar um teste para encontrar os números reais. Tudo acima é apenas a minha opinião. Se você estiver testando o desempenho localmente, configure um servidor na sua rede. Se o uso final for pela Internet, teste de um host externo.

    
por 05.12.2013 / 17:50
2

Como sempre, o Google mantém as respostas, FTP v / s SFTP v / s FTPS
O que diz FTP > FTPS > SFTP
O FTP também parece ser mais rápido que o SCP no teste de outra pessoa ( link ), mas eu recomendo tentar por si mesmo para ver. Então, basta configurar o SCP e o FTP em qualquer caixa aleatória na sua rede, depois executar uma típica transferência de arquivo e ver quanto tempo demora em ambos os processos

    
por 05.12.2013 / 17:27