當讀取本地文件並通過網絡(本地和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