FTP / FTPS / SFTP / SCP - Comparação de velocidades [fechado]

21

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

Graham
fonte
3
Velocidade não é a diferença importante entre o FTP e os outros.
ceejayoz
2
Não sei por que isso foi votado fora de tópico. É certamente muito relevante para o meu trabalho como administrador de sistemas profissional - por que as transferências de arquivos não foram usadas em lugar algum próximo da largura de banda de todo o caminho da conexão?
Dan Pritts
Você pode compensar a diferença de velocidade do SFTP usando várias conexões TCP controladas por LFTP e o subsistema espelho usando SFTP sem sacrificar a segurança. Pode até usar vários threads para um único arquivo grande.
Aaron

Respostas:

29

Se você tiver uma rede rápida de área ampla, encontrará essa velocidade sftpe terá scpa 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.

ftpsEu 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.

Dan Pritts
fonte
1
Finalmente. Alguém que sabe do que está falando. Sim, o FTPS é basicamente FTP no SSL. SFTP / SCP sempre será mais lento que o FTP
Jason
Você tem alguma idéia de por que eu recebo 300 kb / s com scp enquanto ando em torno de 10 Mb / s (quase velocidade máxima) com sftp? Isso não parece ter "a mesma velocidade". Isso é mais de 100 Mbps ethernet.
GrayWolf
Melhor suposição, seu scp é uma implementação falha (por exemplo, WinSCP), mas seu sftp não é. Mesmo se eles estiverem no mesmo wrapper da GUI, eles podem ser diferentes por dentro.
Dan Pritts
Dan, alguma idéia de por que esse patch SSH não é aplicado ao OpenSSH principal? Claramente, é de 1 a 2 ordens de magnitude melhor (> 10x mesmo em uma LAN de 100 Mbps). Por que esse não é o novo padrão OpenSSH? Como podemos fazer isso?
Gabriel Staples
Meu entendimento é que o PSC enviou os patches para o pessoal do openbsd (que escreve o openssh). Eles não estavam interessados. Ouvi declarações vagas de que nenhuma das pessoas do openbsd tinha conexões de banda larga e não notaram nenhum problema e / ou necessariamente acreditam que havia um problema real. Isso foi há vários anos e é boato, por isso não posso garantir sua precisão.
Dan Pritts
4

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.

Allan Jude
fonte
É bom saber que os padrões agora devem ter os patches instalados, embora pareça que a redhat tenha explicitamente decidido contra isso ( access.redhat.com/site/solutions/53215 ). Além disso, observe que a latência transatlântica não é tanto assim. Ping atuais rtts: umich -> stanford (califórnia): 89ms. umich -> cambridge (uk): 134ms. Além disso, não é a combinação de latência e largura de banda que causa o problema? latência tão baixa, mas links com largura de banda mais alta ainda podem ter problemas.
Dan Pritts
3

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.

Jim G.
fonte
A sobrecarga de desempenho é uma ordem de grandeza, não é pequena. Mais próximo de 10x do que 2x mais lento. Eu me surpreendi.
Gomibushi
2

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

Comunidade
fonte
por que você diz que o FTP é um protocolo de Internet e SCP para a LAN?
Dan Pritts
5
Ah, vejo que você conseguiu isso no artigo vinculado do eHow. eHow está errado. Ambos os protocolos foram projetados para uso da Internet. O artigo tem vários outros erros; o escritor claramente não sabe do que está falando.
Dan Pritts
Agora que penso nisso, você está certo, eu provavelmente deveria ter verificado.
1
Sites como o eHow nunca sabem do que estão falando.
21413 Jason