Windows / NTFS - 是否可以测量文件操作的完成时间?

Mar*_*ski 8 ntfs performance-monitoring windows-server-2008-r2

我正在寻找测量完成发给 NTFS 驱动程序的文件操作(打开文件、关闭文件、删除文件、写入、读取等)并能够记录它所需的时间的可能性。我无法更改应用程序来测量应用程序内的时间。我对发出调用和返回应用程序执行之间经过的时间很感兴趣。

应用程序不断写入放置在 iSCSI 存储上的 NTFS 卷。它还定期删除最旧的文件。文件大小介于 100 到 200 MB 之间。卷上始终有大约 10% 的可用空间。在某些时候,应用程序无法以正常速度写入数据,因此它开始在内存中缓冲。然后发生了一些事情,缓冲区开始清空,一切恢复正常。

我测试了物理卷和逻辑卷的 I/O 操作 - 我在“中断”期间没有看到异常

现在我想找出问题是在应用程序中还是在操作系统的某个地方。出于这个原因,我在想,如果我能够记录所有文件操作时间,我将能够确定是系统比平时花费更多时间还是操作速度快并且应用程序内部出现阻塞。

平台为 64 位 Windows Server 2008R2。我尝试了 sysinternals 进程监视器,但它没有记录执行时间。问题可能需要几个小时才能出现。

你能为这项工作推荐合适的工具吗?

Bar*_*958 5

雇用某人为文件系统编写整体或小型过滤器驱动程序。您将能够拦截来自感兴趣的特定应用程序的所有调用,并将它们直接跟踪到 NTFS 或任何其他 FS 驱动程序入口点。OSR 有一些数据拦截(?)套件或其他东西,也可以派上用场。

https://www.osr.com/dmk/