Set*_*eth 8 ruby sockets ssh performance scp
从命令行scp实用程序的功能来看,SCP上传速度似乎在库中受到很大限制.我知道这是Ruby(1.9.2-p0),但Net :: SCP比Linux实用程序慢大约8倍(使用大文件看到......见下文).我很想知道(我快速查看代码)如果这是Ruby中的套接字,或者是否可以更好地复用Net :: SCP套接字?
我注意到无论我尝试什么样的上传方式(串行上传,异步操作,使用scp对象的多个实例)我都无法在SCP上传时获得超过9兆字节/秒的传输速度.现在......让我解释一下我调查的细节:
1)尝试了不同的加密算法
我使用了不同类型的加密而没有太大的速度变化示例:我可以使用命令行scp(加密算法= arcfour128)提交我的1GB测试文件,并在我的内部千兆位连接上获得73.3兆字节/秒的传输速率.我使用Net :: SCP.upload lib在我的内部千兆位连接上从未超过大约9兆字节/秒.
2)尝试了不同的主机/操作系统
我发现Linux - > Linux上传速度最快.SUA的ssh服务器(Windows)只能为我提供最高13.5兆字节/秒的上传速度(Linux - > Windows,使用arcfour算法w/scp命令行),而Linux - > Linux(使用arcfour,w/scp命令行) )是一个惊人的73.3兆字节/秒.我应该提一下,这些Windows和Linux机器完全相同的型号,硬件等.
3)尝试了不同的SCP上传方法
- >使用2同步上传!电话,一个接一个地完成. - >使用2个异步上传调用,一个接一个地启动 - >使用2个Net :: SCP对象并将文件提交到非阻塞/异步版本的上传(因此它们并行运行)这些不同的方法都没有给予任何显着的性能提升,这有点令人沮丧.
以下是测试结果(为便于阅读而增强了文本,但与提供的代码输出类似):
Net::SCP
Done creating channels
Starting transfer of /home/seth/afpcases/systeme.afp # two upload! calls, one after another
Finished transfer of /home/seth/afpcases/systeme.afp
--> Duration: 126.07707 seconds (8.7168903909331 megabytes/s) should show transfer speed of serial uploads
Starting transfer of /home/seth/afpcases/systeme.afp # two upload calls, one after another, with a wait on both channels after both have started
Finished transfer of /home/seth/afpcases/systeme.afp
--> Duration: 122.588784 seconds (8.964931082112699 megabytes/s) should show transfer speed of simultaneous async channels.
Starting transfer of /home/seth/afpcases/systeme.afp # two upload calls on two separate Net::SCP objects, one after another, with a wait on both channels after both have started
Finished transfer of /home/seth/afpcases/systeme.afp
--> Duration: 122.822663 seconds (8.947860054133495 megabytes/s) should show transfer speed of simultaneous SCP instances
Finished in 371.761262 seconds
Run Code Online (Sandbox Code Playgroud)
如果您有一个大文件(我使用了~1GB文件),您可以使用这些rspec测试(在scp_spec.rb中)或将它们更改为您熟悉的任何测试工具,以查看此性能下降.
如果您不知道如何在库中改进这种性能,除了通过子shell调用scp实用程序之外,您是否还有更多关于如何打开一些额外的并行SCP传输速度的想法?
Rspec测试在这里:https://gist.github.com/703966
| 归档时间: |
|
| 查看次数: |
1453 次 |
| 最近记录: |