运行SQL Server 2014并将FilestreamEffectiveLevel设置为3。因此,我可以使用C#中的SQLFileStream轻松检索文件。
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缓冲区没有得到有效的使用。它没有使用1500个字节的MTU,主要使用54个字节(空ACK)或200-300字节。(我们使用WireShark运行了一些测试。)
是什么引起的?是驱动程序问题,还是我们需要更改C#代码来优化网络利用率?
发布于 2015-12-17 07:50:10
原来是代码的另一部分。SqlFileStream表现很好。
https://stackoverflow.com/questions/34309395
复制相似问题