技术解析

SCP 速度为啥这么慢
0
2021-06-28 02:34:29
idczone

从本地通过 scp 复制服务器 A 上面的文件,速度只有 1~2MBps 左右,关键是:

  • 从 A 复制到本地同一子网的另一台主机,11MBps
  • 重启切换到另一个完全相同的系统,速度 11MBps

所以初步判断是系统什么地方出了问题,内核参数啊或者网络参数。但是从本地 iperf 的结果是正常的,也是 11MBps 左右,只是 rsync、scp 的速度很慢。 服务器和本地是 100Mbps 的交换机连接,系统是 Manjaro Linux,内核版本 4.9.63-1

图片


SSH 客户端开启压缩传输了,内网开启压缩会造成传输速率下降。

尝试用 -v 参数, 对比一下“另一个完全相同的系统”和 A 之间用的 scp 参数是否一致?

既然 iperf 没问题,那其实硬件问题可能性不大。可以看一下 scp 连接里, tcp 的重发包数量(/proc/[id]/net/tcp),是不是滑动窗口太小影响到了。
或者用别的 ssh 文件工具,看看传输速度咋样。

服务器带宽太小吧

参数一致。而且我怀疑不是 scp 的问题,我把大文件放到服务器的 nginx 目录下面用 axel 多线程下载速度还是 1M 左右

之前给 LEDE 开了 BBR,结果局域网几百 K 的,换成 CUBIC 恢复
把 sysctl.conf 恢复或从其他系统同步参数试试

- 不请求分配 pseudo-terminal:-o RequestTTY=no
- 选一个简单的 cipher:-c arcfour
- 关闭压缩:-o Compression=no
可以选择的话最好是用 rsync

因为用的是 TCP 啊,不止 ssh/scp,nfsv4 也因为默认选用 tcp 而被诟病,一个好的解决方案:
mosh

ssh 是加密传输,CPU 性能差会有影响

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服