c# - 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++ - Qt QML - 无法分配给不存在的属性“onClicked”
- r - 根据分组数据框中另一列中多个观察值的比较,有条件地将值分配给列中的 NA
- image - 沿边缘的图像上的轮廓
- c# - 在 C# 中获取特定进程的磁盘使用情况
- java - java - 如何在java spring中搜索两个或多个参数?
- .net - 使用 .Net Core 2.1 实现 Castle.Core.Logging.ILoggerFactory 接口
- java - 将firebase数据从一个活动传递到另一个活动,ListView的onClick
- php - 如何检查数组中是否存在值?
- python - 为每个列对组合查找以前的非零对,并为使用 python 的那些组合创建单独的列
- swagger - 如何在 Swagger UI 中显示 body 参数的嵌套数组示例?