Renci SSH.NET并发SFTP上传性能



我一直在使用renci ssh.net库进行sftp上传,当将同一文件上传到两个不同的服务器时,我遇到了一些有趣的行为,同时使用两个独立的线程。

当我将文件加载到单个服务器上时,我会得到传输速度〜1500KB/s,这与我期望给定服务器的内容有关。

当我同时将同一文件传输到两个服务器时,我将转移速度〜650kb/s到每个服务器。

这一切都在本地的GBE网络上,我知道PC上的NIC至少能够7MB/S,因此这不是瓶颈。它似乎也不是CPU绑定的,因为它几乎没有在处理器上注册。

我已经尝试过的几件事:

  • 为每个客户端创建引用相同文件的文件流。
  • 将文件读取到字节数组并为每个客户端创建一个内存。

此库有某种螺纹争议问题吗?

我能够通过最新的Nuget版本(2016.1.0)的性能解决问题。

最新更新