如何提高libssh2 NMSSH Framework ios的性能

时间:2014-12-23 08:05:36

标签: ios nmssh

我正在使用NMSSH Framework 2.2.0版从服务器下载文件。 我发现文件块大小固定为2000字节 libssh2_sftp_read()此方法返回固定大小。 我试过增加缓冲区大小,但不会增加块读取大小。 我想通过增加Chunk大小来提高框架的性能。

2 个答案:

答案 0 :(得分:2)

我找到了增加块大小的方法。 块大小在libssh2库中是硬编码的,您必须从libssh2站点下载源代码,然后编辑sftp.h文件中给出的常量,即#SFTP_READ_SIZE 8000或您想要的大小,但要确保它不应该更多比你的缓冲区大小。

然后重建图书馆。

答案 1 :(得分:0)

虽然问题的主体特别要求改变libssh2块大小,但问题的标题仍然是Google在搜索NMSSH性能时的最佳结果。

所以回答标题问题:

我没有重建libssh2,而是找到了以下简单的步骤来提高NMSSH的性能。打开压缩:

   libssh2_session_flag(sshSession.session, LIBSSH2_FLAG_COMPRESS, 1)

其中sshSession是一个实例NMSSHSession(在Objective-C中,getter是rawSession)。

此外,对于NMSFTP,默认缓冲区大小从16k增加到128k:

    sftpSession.bufferSize = 128 * 1024

其中sftpSession是NMSFTP的实例