1

libssh2 を使用して多数の小さなファイルを読み込もうとしています。現在 libssh2_scp_recv/libssh2_channel_read を使用しており、libssh2_sftp_open/libssh2_sftp_read も試しました。

大きなファイルでは、scp と同様の速度を得ることができます。しかし、小さなファイルの場合、ほとんどの時間はリモート ファイル (libssh2_scp_recv) へのハンドルを開き、ファイル (libssh2_channel_read) をダウンロードしないことに費やされます。

scp はどのように行うのですか? 接続を飽和状態にできるように、複数のファイルを一括ダウンロードする簡単な方法はありますか?

4

1 に答える 1

0

パイプラインを使用できる libssh の上に独自の SFTP レイヤーを作成しない限り、そうではありません。

より簡単な解決策は、複数のスレッドを使用し、それぞれが独立した SSH 接続を確立して複数のファイルを並行して取得することです。

于 2012-11-28T23:03:29.807 に答える