我正在寻找一种方法来测量完成发给NTFS驱动程序的文件操作(打开文件,关闭文件,删除文件,写入,读取等)并能够记录它所需的时间。我无法更改应用程序来衡量应用程序内部的时间。我对发出呼叫和返回应用程序执行之间有多少时间感兴趣。
应用程序正在不断写入iSCSI存储上放置的NTFS卷。它还定期删除最旧的文件。文件大小在100到200 MB之间。卷上总是有大约10%的可用空间。在某些时候,应用程序无法以规则的速度写入数据,因此它开始在内存中进行缓冲。然后发生一些事情,缓冲区开始清空,一切恢复正常。
我测试了针对物理和逻辑卷的I / O操作-在“中断”期间没有发现异常
现在,我想找出问题出在应用程序内部还是操作系统中。出于这个原因,我在考虑是否能够记录所有文件操作的时间安排,因此我将能够弄清楚这是系统花费的时间比平时多还是操作速度快以及应用程序内部是否有阻塞。
平台是64位Windows Server 2008R2。我尝试了sysinternals进程监视器,但它没有记录执行时间。问题可能需要几个小时才能出现。
您能为这项工作建议合适的工具吗?
也许您会发现DiskMon有用。
—
VlastimilOvčáčík17年