有没有办法让Mac OS X上运行scp更快?

我试图从我的Macbook(运行Snow Leopard)使用该命令上传一个Flex生成的SWF文件(500 kb)

scp main.swf server.com:/ 

我已经设置了密钥authentication,以防止每次input用户/密码。 此过程通常需要两分钟时间才能在家中使用我的连接(768kbps下/ 300 + kbps)。

有趣的是,当我在Windows XP机器上使用WinSCP时,最多只需要30-40秒。

我的MacBook和Windows XP机器都使用相同的互联网连接。 MacBook通过电缆连接到路由器(这应该是更快?),而Windows XP通过WiFi连接。

让我知道你是否需要额外的信息来诊断问题。

谢谢!

更新:

在xenny的领导之后发布两个设置的更多信息。

OSX:Core 2 Duo 2.0 GHz 4GB RAM

Windows XP Pentium D 2.8 GHz 2GB RAM

以下是WinSCP设置:会话协议= SSH-2 SSH实现= OpenSSH_4.7p1 Debian-8ubuntu1.2encryptionalgorithm= aes压缩=否文件传输协议= SFTP-3

我尝试了OSX中的一些,但它显示了一个“未知的密码types”消息。

MacBook在计算机上使用比WinSCP更加计算“昂贵”的密码,这导致了放缓。

如果MacBook目前是CPU绑定的,通过压缩数据stream来加载负载可能会让事情变得更糟。

如果您使用ssh -cselect较便宜的密码,则应解决您的问题。 我build议先看看XP机器使用什么密码,假设两台机器都具有可比的处理器性能。

你应该检查的主要事情是有多快,你可以指望它去。 如果你的networking上传速度是300Kbps,那么无线路由器和有线连接都不应该成为这里的瓶颈。 用一些简单的math来validation或反驳这个; 如果它是一个兆字节的大小,你应该预计它需要3秒(-ish)。

如果它不是本地configuration问题,或者是不可修复的,则可以使用scp -C进行压缩以加速大型传输。 或者你可以使用rsync ,如果你一遍又一遍地上传同一个swf的新版本; 如果它大部分是相同的,加速可能会相当大。

您也可以尝试使用rsync而不是scp进行更新。 这将允许直接replace.swf文件时仅传输新版本的更改数据。

build议的语法: rsync --compress --times --progress main.swf server.com:/path/to/final/directory/on/the/webserver欲了解更多信息,请参阅man rsync并准备一个相当压倒性的手册页。

在xennybuild议采用不同的密码之后,我build议使用blowfish-cbc密码。 这是OpenSSH中可用的计算量最小的密码,虽然不是最安全的密码,但速度更快。 我经常看到从换到河豚的速度提高了(2-10倍),所以我build议给它一个镜头。