Como FTP, FTPS, SFTP e SCP se comparam em termos de taxa de transferência e como posso compará-los através de testes?
Como FTP, FTPS, SFTP e SCP se comparam em termos de taxa de transferência e como posso compará-los através de testes?
Respostas:
Se você tiver uma rede rápida de área ampla, encontrará essa velocidade sftp
e terá scp
a mesma velocidade, o que é lento. Ambos sofrem de problemas de desempenho no openssh subjacente. Com o hardware moderno, isso não se deve a sobrecarga de criptografia, mas a problemas com a implementação do openssh - implementa seu próprio mecanismo de janelas interno, que quebra em conexões rápidas.
Esses problemas se tornam mais óbvios nas conexões de longa distância (latência mais alta), mas experimentei lentidão até nas LANs.
Eles estão bem documentados e estão disponíveis correções para corrigir o problema. O patch de qualquer extremidade da conexão pode ajudar; idealmente, você remendaria as duas extremidades. Para obter mais informações e correções, consulte SSH de alto desempenho no Pittsburgh Supercomputer Center.
BTW, a sobrecarga de criptografia também pode se tornar um problema quando o problema de janelas é resolvido. Os patches também têm correções para isso.
Enquanto isso, você verá que isso ftp
é terrivelmente inseguro; envia senhas em texto sem formatação.
ftps
Eu acho que envolve o protocolo ftp em SSL. provavelmente é mais rápido que o SFTP / SCP sem patch.
Uma observação final: na minha experiência, o cliente WinSCP é (pelo menos algumas vezes) dolorosamente lento. Não sei por que, mas, com base nas perguntas frequentes, não sou a única pessoa que teve esse problema. Portanto, se você está usando o Windows e parece lento, tente um cliente diferente. Mesmo com um servidor openssh sem patch, você pode fazer muito, muito melhor com um cliente diferente. Infelizmente, não tenho certeza de quais são bons clientes.
Em geral, todos os protocolos terão o mesmo desempenho. É mais provável que você seja limitado pela velocidade da 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 patches para corrigir esse problema chamado HPN (rede de alto desempenho) e está incluído nas instalações mais modernas do OpenSSH.
Se você estiver enfrentando uma situação como um link de LAN gigabit ou mais rápido e uma CPU mais lenta, o SFTP / SCP poderá ter um gargalo. Você será capaz de dizer porque o processo ssh / scp / sftp estará usando 100% da CPU no envio ou no recebimento da hospedagem. Se você estiver usando uma versão mais recente do OpenSSH (6.4+), poderá ativar uma versão encadeada da cifra AES que poderá usar mais de um núcleo para lidar com a criptografia e terá menos probabilidade de ser limitada pela CPU em vez do disco ou largura de banda da rede.
Se você controla o lado de envio e recebimento, o OpenSSH 6+ também possui um modo opcional 'NÃO NECESSÁRIO'. Isso usa a criptografia / chaves regulares etc. para fazer login na máquina remota, mas depois cai para uma conexão não criptografada para a cópia real do arquivo. Isso removerá a sobrecarga da CPU. Existem salvaguardas embutidas no NONECIPHER que impedem que você obtenha um shell que não esteja criptografado.
No final, o protocolo não deve ser a limitação da velocidade, embora as versões mais antigas do ssh tenham problemas com links de alta latência.
Com base na sobrecarga de criptografia, eu diria que o FTP comum provavelmente tem um desempenho um pouco melhor que os outros protocolos, mas provavelmente é insignificante. Eu usaria o protocolo que fornece a segurança que você precisa primeiro e depois se preocupe com a taxa de transferência.
Dito isto, você precisará 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.
Como sempre, o Google mantém as respostas,
FTP v / s SFTP v / s FTPS O
que diz FTP> FTPS> SFTP
FTP também parece ser mais rápido que o SCP no teste de outra pessoa ( http://www.lysesoft.com/support/forums /viewtopic.php?f=5&t=542 ), mas eu recomendo que você experimente.
Então, basta configurar o SCP e o FTP em qualquer caixa aleatória da sua rede, executar uma transferência de arquivo típica e ver quanto tempo leva