界面很方便,但与同一台 Windows 机器上的 VM 中的 pscp 或 scp 相比,文件传输速率非常慢。当我的整体连接速度可以达到约 1Mb/s 时,我只能获得约 17kb/s(这是我看到的,而不是我的提供商告诉我的),而且我很确定我之前曾以更高的速度连接到同一台计算机
答案1
你可能会发现文件传输速度常见问题解答在 WinSCP 网站上很有用,我将提供基础知识:
WinSCP 的 SSH 代码基于 PuTTY,因此使用基于 SSH 的协议进行文件传输的速度不可能比 PuTTY 快。因此,可能值得直接尝试使用 PuTTY 进行文件传输,看看是否具有可比性。
除了带宽之外,他们认为 WinSCP 的整体连接速度还有两个常见的限制因素:中央处理器和连接延迟。
中央处理器
很重要,因为发送的所有内容必须在一端加密,在另一端解密(如果启用了压缩,还可能进行压缩)。如果任何一台机器速度足够慢(或恰好在处理其他事情),则必须降低整体连接速度,以便 CPU 能够跟上加密/解密/压缩过程。
这里的建议是使用强度较低的加密方法(他们建议使用Blowfish
通常比更快AES
),尝试禁用压缩,如果使用 SSH-2,则尝试降至 SSH-1。
连接延迟
他们建议尝试 SCP 协议而不是 SFTP,因为 SCP 受延迟的影响较小(并且他们建议在这种情况下打开压缩)。
答案2
查看“首选项/其他首选项”中的“传输”中是否有硬性限制。如果该机器已被其他人使用/配置,则可能会发生这种情况。VM 配置也可能会产生影响。(或中间节点)
答案3
出于兴趣,我们从 aes 换成了 blowfish,速度从 250kb/s 提高到了 2mb/s
我们的 winscp 脚本.txt
# Automatically abort script on errors
option batch abort
# Disable overwrite confirmations that conflict with the previous
option confirm off
# Connect using a password
open sftp://user@pass@server -rawsettings Compression=1 AgentFwd=1 SshProt=1 Cipher=blowfish,aes,3des,WARN,arcfour,des
# Change remote directory
cd /x
# Change local directory
lcd /y
# Force binary mode transfer
option transfer binary
# synchronize
synchronize remote -criteria=size \x /y
#done
exit
使用批处理文件
"c:\Program Files (x86)\Winscp\winscp" /script:script.txt %1 %2 %3 %4 %5 %6 %7 %8 %9
答案4
指定主机时使用 IP 地址而不是域名!
我的传输速度为 150 KiB/s,尽管同一台机器之间通过 torrent 的传输速度为 10+ MiB/s。在谷歌搜索了一段时间后,我得到了一个提示在论坛上我应该尝试指定我的服务器的 IP 地址而不是域名,我尝试了一下,然后:
现在它正在全力传输我的网络容量,好棒啊!