首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么FileZilla SFTP文件传输最大值上限为1.3mb/秒,而不是饱和可用带宽?rsync和WinSCP甚至更慢

为什么FileZilla SFTP文件传输最大值上限为1.3mb/秒,而不是饱和可用带宽?rsync和WinSCP甚至更慢
EN

Server Fault用户
提问于 2015-05-24 06:12:39
回答 3查看 24.2K关注 0票数 7

我正在从服务器下载,FileZilla的下载速度是1.3MiB/秒,但是我可以开始并发下载,他们也会以1.3MiB/秒的速度下载。那么,为什么我不能以1.3MB/s的速度下载一个文件,并接近饱和可用带宽(~6+MB/s)?

我知道我可以使用其他支持分段下载的SFTP客户端,比如lftp,知道还有其他开源的吗?

但是,我仍然想知道是什么限制下载一个文件只有1.3MB/s,是一些技术限制与TCP和缓冲区等,还是一些配置问题?我检查了一下,并且肯定没有为FileZilla启用任何流量节流。

此外,我尝试了rsync,它比FileZilla/SFTP更糟糕。我也尝试过WinSCP,它是最慢的,不管采用何种方法SCP/SFTP。因此,在1.3MB/s恒定转移下,FileZilla比其它传输方法更好。

如果有人很好地解释了为什么传输高峰在1.3MB/s,我真的很想知道,如果有可能增加这一点,而不诉诸分段下载。服务器正在运行OpenSSH 6.7p1 (Debian)客户端在Windows上是FileZilla。

更新:为了回应Martin的信息(见下面的答案),我补充说,ping在服务器和正在下载的客户端之间是180到190‘s的恒定值。而且cpu使用率很低,2%到8%的最大值。我试用了最新版本的winscp 5.73,在sftp模式下,我得到了555 max /S和805kb/s max的scp模式。而如果在Filezilla中启动二次并发传输,则也可以得到常数1.3MiB/s。

那么,180毫秒延迟到服务器上是否是一个数学上的限制因素,就像Martin和Michael谈到的那样?还是还有其他的原因,我可以提高吞吐量呢?如果没有,我会感谢任何人知道任何其他(如lftp,但在Windows上运行良好)开源下载程序是安全的,并支持分段下载。

EN

回答 3

Server Fault用户

发布于 2015-05-24 07:07:57

影响传输速度的因素有三个:

  • 带宽-显然这不是你的麻烦。
  • 网络延迟/延迟- SFTP是面向数据包的协议。下载时,SFTP客户端向SFTP服务器发送“读取”请求,等待响应,将返回的数据附加到本地文件;并重复,直到文件结束。即使您的连接是快速的,如果服务器离得很远(或慢),返回数据也需要一段时间。如果客户花费这段时间毫无意义地等待,您的传输速度将很低。大多数SFTP客户端(包括FileZilla和WinSCP)都通过在每个“读取”请求中请求大量文件和发送(排队)多个“读取”请求来克服这个问题,而无需等待对前一个请求的响应。例如,WinSCP可以请求最多32块,每次32 KB,总计1MB(这些是默认值)。但是,如果带宽和网络延迟之间存在很大的差异,那么即使1MB的带宽也可能太小,无法使带宽饱和。底层TCP协议可能会遇到类似的问题。因此,这不仅是实际的SFTP客户端的效率问题,也是底层TCP层的效率问题。也见维基百科上的带宽延迟积。我也不认为这是您的麻烦,至少如果您已经使用了最新版本的WinSCP进行测试。在最近的版本中已经出现了一些改进,它允许WinSCP和FileZilla一样高效地利用高延迟连接。
  • CPU - SFTP加密,CPU密集。如果您的CPU相对较慢,与大带宽相比,传输可以被限制为您的CPU无法加密(或在下载时解密)数据的传输速度,因为您的网络能够传输这些数据。常见的SFTP客户端不能在CPU核心之间分配加密/解密,因此它实际上是一个CPU核心的容量,限制了传输速度。使用Windows任务管理器查看是否在传输期间最大限度地使用了其中一个核心。

这个答案的一部分来自WinSCP文章文件传输速度很低。WinSCP没有利用所有可用带宽。如何提高换乘速度?

票数 13
EN

Server Fault用户

发布于 2016-03-22 12:10:44

我也有这个问题。

我使用任务管理器将优先级设置为“高”。

现在我达到了5 MiB/s

票数 2
EN

Server Fault用户

发布于 2019-04-25 02:50:41

我最近在相同的网络上尝试了windows 10和更新版本的filezilla,我从同一台服务器获得了高达7MB/秒的传输!然后,我在虚拟机中使用RSYNC进行了测试,并获得了7 7MB/秒。我“非常肯定”,现在问题在于我在这个Windows 7系统上安装的COMODO防火墙。

显然,即使你“禁用”它,它所做的只是不强制规则,但它减慢了网络堆栈。我已经在虚拟机中安装/复制了这个windows 7系统,我将尝试完全“删除”Comodo cis溢价(antivirus+firewall)并在这里确认。我还应该提到,在这台机器上,我还注意到,在我的网络中,对于某些系统,在这些系统之间的所有其他系统都是稳定的& all;1ms。所以带宽延迟产品信息是非常好的,但在我的例子中,我可以在7 my /S(这基本上是饱和了我的可用带宽)的另一个安装,相同的网络本地和远程的文件和rsync。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/694062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档