我正在寻找测量完成发给 NTFS 驱动程序的文件操作(打开文件、关闭文件、删除文件、写入、读取等)并能够记录它所需的时间的可能性。我无法更改应用程序来测量应用程序内的时间。我对发出调用和返回应用程序执行之间经过的时间很感兴趣。
应用程序不断写入放置在 iSCSI 存储上的 NTFS 卷。它还定期删除最旧的文件。文件大小介于 100 到 200 MB 之间。卷上始终有大约 10% 的可用空间。在某些时候,应用程序无法以正常速度写入数据,因此它开始在内存中缓冲。然后发生了一些事情,缓冲区开始清空,一切恢复正常。
我测试了物理卷和逻辑卷的 I/O 操作 - 我在“中断”期间没有看到异常
现在我想找出问题是在应用程序中还是在操作系统的某个地方。出于这个原因,我在想,如果我能够记录所有文件操作时间,我将能够确定是系统比平时花费更多时间还是操作速度快并且应用程序内部出现阻塞。
平台为 64 位 Windows Server 2008R2。我尝试了 sysinternals 进程监视器,但它没有记录执行时间。问题可能需要几个小时才能出现。
你能为这项工作推荐合适的工具吗?