改进 SqlFileStream 的数据传输?

Improve data transfer for SqlFileStream?

运行 SQL Server 2014FilestreamEffectiveLevel 设置为 3。因此,我可以使用 SQLFileStreamC#:

中轻松检索文件
using (var stream = new SqlFileStream(path, transactionContext,
    FileAccess.Read, FileOptions.SequentialScan, 0))
{
    byte[] data = new byte[stream.Length];
    stream.Read(data, 0, data.Length);
}

这有效,但看起来这段代码导致网络被 TCP 标有 PSH 标志的包淹没。这实质上意味着 TCP 缓冲区没有得到有效使用。它没有利用我们的 MTU 的 1500 字节,而是主要使用 54 字节(空 ACK)或 200-300 字节。 (我们 运行 一些测试使用 WireShark。)

这是什么原因造成的?是驱动程序问题还是我们需要更改 C# 代码以某种方式优化网络利用率?

原来是另一部分代码。 SqlFileStream表现不错。