首页 > 解决方案 > SSH.NET 比 FileZilla 慢

问题描述

我正在尝试使用 C# Library SSH.NET 通过 SFTP 将各种文件上传到我的 FTP 服务器(欧洲客户端、美国服务器)。

我尝试使用 FileZilla 处理一个 832 mb 的文件,大约需要 70 秒(13 mb/s)。使用 SSH.NET 需要超过 10 分钟 (1.3mb/s)

测试在同一连接上完成。

我已将 SSH.NET 客户端缓冲区设置为 128 000 000 字节,以尝试比 32kb 更大的缓冲区,但它不会改变任何东西。

SftpClient sftp = Jobfile.SFTPConnect(parameters.GetValue("SFTP"));
sftp.BufferSize = 128000000;

这是我上传文件的 C# 代码。

        string JobFileDestinationPath = JobFileDestination.Remove(JobFileDestination.LastIndexOf('/'));
        
        if (!(SFTPCheckIfFileExists(sftpClient, JobFileDestinationPath)))
        {
            SFTPCreateDirectoryRecursively(sftpClient,JobFileDestinationPath);
        }
        using (var fs = new FileStream(JobFileSource, FileMode.Open))
        {
            sftpClient.UploadFile(fs, JobFileDestination);
        }   

你知道提高 SSH.NET 速度的方法吗?

标签: c#sshftpsftp

解决方案


推荐阅读