使用默认的4k更改.net / windows应用程序的流缓冲区大小

时间:2016-10-23 14:17:25

标签: .net windows stream smb

这可能不是正确的问题或论坛,但有没有办法在.NET应用程序中更改文件/流复制操作的默认缓冲区大小,当您没有访问权限时使用(可能)默认缓冲区大小到源代码?

我使用的程序在WAN上执行一组文件副本,但速度非常慢。它使用SMB2使用网络UCN路径将文件从一个地方复制到另一个地方。

在运行Wireshark时,我可以看到文件(通常是我们的100mb WAN上的1mb,延迟为7ms)被分成4k个数据包(这是默认的缓冲区大小,我相信.net流操作),发送对于使用SMB2的共享,还有相当多的TCP重建操作正在执行,文件传输大约需要3秒钟。

我使用文件副本和Robocopy运行了类似的操作,他们发送了65k数据包,绝对没有TCP数据包重建操作,只是65k SMB2请求的连续列表,它需要几毫秒。

任何帮助都将不胜感激。

0 个答案:

没有答案