srv.sys 如何根据底层文件系统决定原始模式与核心模式?
我们正在使用 IFS Kit 开发 Windows 文件系统。 我们开始调查一个性能问题,该问题导致我们的文件系统 I/O 在通过网络共享时速度慢得多。 在使用 Sysinternals 中的 FileMon 和 TCPView 查看后,我们发现如果共享 NTFS/FAT,SMB 客户端和服务器以 60K 块传输 I/O,而在共享我们的文件系统时,它使用 4K 块。
这两个块大小对应于 SMB“核心”和“原始”模式 - 此处对此进行了解释 微软。
问题是我们无法弄清楚文件系统中的什么原因导致 Windows 共享服务器 (srv.sys) 为我们的文件系统选择核心模式 (4K),为 NTFS 和 FAT 选择原始模式 (60K)。
甚至欢迎提示要检查的内容。
基静脉病毒
We are developing a file system for Windows using IFS Kit.
We started to investigate a performance problem which caused our file system I/O to be much slower when shared over the network. After looking at it with FileMon and TCPView from Sysinternals we found out that if a NTFS/FAT was shared, the SMB client and server were transferring I/O in 60K blocks, while while sharing our file system it used 4K blocks.
These two block sizes correspond to the SMB "core" and "raw" modes - this is explained here by Microsoft.
The problem is that we cannot figure out what in our file system causes the windows share server (srv.sys) to choose core mode (4K) for our file system and raw mode (60K) for NTFS and FAT.
Even hints at what to check are welcome.
KIV
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通过在文件系统对象中设置 FO_CACHE_SUPPORTED 标志解决了该问题。
The issue was resolved by setting the FO_CACHE_SUPPORTED flag in the file system object.
从支持页面:
您是否从命令行尝试过此操作?
From the support page:
Have you tried this from a command line?