当读取本地文件并通过网络(本地和Internet)发送它时,是否有任何建议或建议的缓冲区大小?我们使用4k,因为它是Windows VM的页面大小,但由于这可能是延迟,带宽,抖动等复杂的功能,因此我想了解在大多数情况下可以很好地实现的实现。我们宁愿采用更简单的解决方案来尽量减少代码更改(代码审计)。通过LAN/Internet传输文件时上传缓冲区大小?
using (var destFs = new NetworkStream(URI, FileMode.OpenOrCreate))
{
var buffer = new byte[4*1024]; // <= better buffer size?
int bytesRead;
while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) > 0)
{
destFs.Write(buffer, 0, bytesRead);
}
}
4096通常是我所看到的,但我无法用科学来证明它。 – Romoku 2013-03-13 00:57:25
在我的职业生涯中,我体验到最好的价值是8192,但我不知道。但似乎更快。 – sborfedor 2016-01-20 13:59:36