2012-11-28 46 views
1

我正在尝试使用libssh2读取大量小文件。 我目前使用的是libssh2_scp_recv/libssh2_channel_read,我也尝试了libssh2_sftp_open/libssh2_sftp_read。使用libssh2读取大量小文件的性能问题

对于大文件,我能够获得类似于scp的速度。但对于小文件,大部分时间都是通过打开远程文件(libssh2_scp_recv)的句柄而不是下载文件(libssh2_channel_read)。

scp是怎么做到的? 有没有一种简单的方法来批量下载多个文件,这样我就可以饱和我的连接?

回答

0

除非您在libssh之上编写自己的SFTP层才能使用流水线。

也许一个更简单的解决方案是使用多个线程,每个线程建立一个独立的SSH连接,以便并行检索多个文件。