在 Windows 中,我使用 sftp 和 scp(安全复制协议)传输了一个数据文件(8GB)并得到如下结果:
计算吞吐量 = 数据大小/时间(秒)
我是网络新手。我不知道是什么让这些协议的吞吐量不同?我认为这与交互式和非交互式无关,因为在调试文件中,我在传输文件时看到命令行是相同的。谁能给我解释一下?
在 Windows 中,我使用 sftp 和 scp(安全复制协议)传输了一个数据文件(8GB)并得到如下结果:
计算吞吐量 = 数据大小/时间(秒)
我是网络新手。我不知道是什么让这些协议的吞吐量不同?我认为这与交互式和非交互式无关,因为在调试文件中,我在传输文件时看到命令行是相同的。谁能给我解释一下?
这两种协议都基于 SSH。SSH本身有一些开销:
SCP 是非常幼稚的协议,具有非常幼稚的算法来传输一些小文件。它有很多同步(RTT - 往返时间)和小缓冲区(基本上是 2048 B -来源)。
另一方面,SFTP 更先进,更适合传输文件。它具有更大的缓冲区,可减少同步需求并提高速度。我想你会得到类似的结果rsync
,这可能是最合适的数据传输工具。缓冲区默认为 32 768 B = 32 kB,但它是在命令行上使用-B
switch 配置的。