FTP / FTPS / SFTP / SCP-速度比较[关闭]


21

如何比较FTP,FTPS,SFTP和SCP的传输速率?如何通过测试比较它们?


3
速度不是FTP与其他FTP之间的重要区别。
ceejayoz

2
我不确定为什么这被选为脱题。当然,这与我作为专业系统管理员的工作非常相关-为什么文件传输不使用整个连接路径带宽附近的任何位置?
丹·普里兹

您可以通过使用LFTP和使用SFTP的镜像子系统驱动的多个TCP连接来补偿SFTP的速度差异,而不会牺牲安全性。它甚至可以对一个大文件使用多个线程。
亚伦

Answers:


29

如果你有一个快速的广域网,你会发现,sftpscp大约相同的速度,这是缓慢的。它们都遭受基础opensh中的性能问题。对于现代硬件,这不是由于加密开销,而是由于openssh实现的问题-它实现了自己的内部窗口机制,该机制会中断快速连接。

这些问题在长距离(较高延迟)连接上变得更加明显,但是即使在LAN上,我也遇到了速度慢的问题。

这些都有详细记录,并且提供了修补程序来解决此问题。修补连接的任何一端都可以提供帮助;理想情况下,您会修补两端。有关更多信息和补丁程序,请参阅匹兹堡超级计算机中心的高性能SSH

顺便说一句,一旦解决了开窗问题,加密开销也可能成为一个问题。补丁程序也对此进行了修复。

同时,您会发现这ftp很不安全;它以纯文本形式发送密码。

ftps我认为将ftp协议包装在SSL中。它可能比未修补的SFTP / SCP更快。

最后一点:根据我的经验,WinSCP客户端(至少有时)非常缓慢。我不知道为什么,但是根据他们的常见问题,我不是唯一遇到此问题的人。因此,如果您从Windows进行浏览,而且速度似乎很慢,请尝试使用其他客户端。即使使用未打补丁的openssh服务器,使用其他客户端也可以做得更好。不幸的是,我不确定哪个是好的客户。


1
最后。知道他们在说什么的人。是的,FTPS基本上是SSL中的FTP。与使用FTP相比,SFTP / SCP总是会慢一些
Jason

您是否知道为什么我使用scp可以达到300 kb / s,而使用sftp却可以达到10 Mb / s(接近最大速度)?这似乎不是“大约相同的速度”。这是超过100Mbps的以太网。
Graywolf

最好的猜测是,您的scp是有缺陷的实现(例如WinSCP),但您的sftp不是。即使它们在同一GUI包装中,它们的内部也可能不同。
丹·普里兹

Dan,你知道为什么这个SSH补丁没有应用到主要的OpenSSH吗?显然,它要好1到2个数量级(即使在100Mbps LAN上也可以提高10倍),那么为什么这不是新的OpenSSH标准?我们如何做到这一点?
加布里埃尔·斯台普斯

我的理解是PSC将补丁提交给了openbsd的人(他们写的是openssh)。他们不感兴趣。我听到模糊的说法,openbsd的所有人都没有高带宽连接,他们没有注意到任何问题,并且/或者一定认为存在真正的问题。这是几年前的,而且是传闻,所以我不能保证它的准确性。
丹·普里兹

4

通常,所有协议将执行大致相同的操作。网络或磁盘的速度比协议更容易受到限制。

较旧版本的OpenSSH(SFTP / SCP)使用固定的窗口大小,这将限制高延迟网络(例如跨大西洋)的速度。有一个补丁集可以解决此问题,称为HPN(高性能网络),它包含在大多数最新版本的OpenSSH中。

如果遇到千兆位或更快的LAN链接以及CPU速度较慢的情况,则SFTP / SCP可能会遇到瓶颈。您将能够知道,因为ssh / scp / sftp进程将在发送或接收主机上使用100%的cpu。如果您使用的是较新版本的OpenSSH(6.4+),则可以启用线程版本的AES密码,该密码将能够使用多个内核进行加密,并且不太可能受CPU(而非磁盘)的限制或网络带宽。

如果您同时控制发送和接收方,则OpenSSH 6+还具有可选的“ NONECIPHER”模式。这使用常规的加密/密钥等登录到远程计算机,但是随后下降到未加密的连接以进行实际文件复制。这将消除该CPU开销。NONECIPHER内置了一些安全措施,可以防止您获得未加密的外壳。

最后,尽管旧版本的ssh确实存在高延迟链接的问题,但协议不应成为速度限制。


高兴知道默认值现在已经安装了补丁程序,尽管看起来redhat已明确决定反对它(access.redhat.com/site/solutions/53215)。另外,请注意,跨大西洋的等待时间并没有那么多。当前ping rtts:umich->斯坦福(加利福尼亚州):89ms。umich-> Cambridge(UK):134ms。而且,不是延迟和带宽的组合会导致此问题吗?因此,较低的延迟但带宽较高的链接仍然会出现问题。
Dan Pritts 2013年

3

基于加密开销,我想说普通的FTP可能比其他协议的性能稍好,但是可以忽略不计。我会先使用提供所需安全性的协议,然后再考虑吞吐量。

话虽如此,您必须设置一个测试才能找到真实的数字。以上都是我的看法。如果要在本地测试性能,请在网络上设置服务器。如果最终用途是通过Internet,请从外部主机进行测试。


性能开销是几个数量级,不是很小。比慢2倍快10倍。我自己感到惊讶。
Gomibushi16年

2

像往常一样,谷歌掌握了答案,
FTP v / s SFTP v / s FTPS,
其中说FTP> FTPS> SFTP
FTP在其他人的测试中似乎也比SCP更快(http://www.lysesoft.com/support/forums /viewtopic.php?f=5&t=542),但我建议您自己尝试一下。
因此,只需在网络上的任意随机设备上设置SCP和FTP,然后运行典型的文件传输并查看两者都需要多长时间


为什么说FTP是Internet协议,而SCP是LAN?
丹·普里兹

5
啊,我看您从链接的eHow文章中得到了这一点。eHow错了。两种协议都是为Internet使用而设计的。该文章还有其他几个错误。作者显然不知道他/她在说什么。
丹·普里兹

现在,考虑到这一点,您是对的,我可能应该检查一下。

1
像eHow这样的网站永远都不会知道他们在说什么。
杰森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.