什么限制了scp的性能?


13

我有两台通过1 Gbit LAN连接的Debian Linux机器。我可以通过原始HTTP文件传输wget(在任一方向上获得大约100MB / s的速度)来衡量这一点。

现在使用时scp,没有压缩的最大速度约为15MB / s。启用带有-C标志的压缩后,根据内容的不同,我的最高速度为50MB / s

尽管如此,这里似乎仍然浪费了大量带宽。直到我真的不得不考虑一些非常大的日志文件传输,才意识到很慢的速度,我才花了很长时间scpscp即使在公司环境中,我也很自然地使用它,因为所有基础结构均已为此设置。

是什么限制了scp的性能呢?是否由于加密而绑定了CPU?当我使用htop它时,似乎并没有使用多核CPU,而只有四个CPU之一可以使用。

有没有增加吞吐量的方法?我有HTTP服务器和samba,但是要在Linux机器之间移动文件,我通常只使用SSH,这就是我成长的方式。但这现在让我考虑了一下,似乎我需要考虑其他传输大量数据的方式。

HTTP仅用于PHP / Java / what中的特定应用程序,而samba由于某些特殊原因而需要我们从Windows计算机进行访问。


JooMing的答案对我来说非常有用,但是-C压缩选项使其速度变慢(从21MB / s而不是112MB / s)。因此,请注意-C
数学

Answers:


7

可能是加密。您可以尝试使用不同密码的scp,例如:

scp -c arcfour src dest

在ssh_config手册页上查看可用的密码。RC4(arcfour)是一种快速密码,但可能不如某些替代品安全。


应该指出的是,使用RC4不是安全和通信可以很容易被打破。
埃文·达尔文

6

部分原因可能与OpenSSH的内部实现有关。请查看HPN-SSH,这是造成瓶颈的一个合理原因,并提供可以解决该问题的OpenSSH补丁(如果您愿意从源代码进行补丁和重建)。

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.