当我使用 scp 将一个大文件(100+mb)复制到远程服务器时,它的速度从 2.7 mb/s 减慢到 100 kb/s 甚至更低,然后停滞。
问题是我似乎无法隔离问题。我尝试了 2 个不同的远程服务器,使用 2 台本地计算机(1 台 osx,1 台 windows/cygwin),使用 2 个不同的网络/isps 和 2 个不同的 scp 客户端。除了我在两个远程服务器(scp)之间复制时,所有组合都出现问题。使用 wireshark 我无法检测到任何会堵塞网络的流量(尽管来自 osx 机器的 NBNS 请求大约每秒 7 个数据包)。
到底发生了什么事?根据我使用的组合,似乎没有任何重叠之处可能导致问题。
答案1
这可能是由于 MTU 设置不正确造成的。
- 看 -wiki 最大传输单元
更新
您可以通过添加 -v 参数从 scp 获取调试输出 -scp 手册页
我的建议是使用 rsync 而不是 ssh
rsync -avz --progress --partial /path/to/copy ssh user@host:~/upload
~/upload 将位于您的用户主目录中
答案2
另一个可能的解释,与 MTU 无关,可能是HPN ssh 补丁 Bug。