目前我正在开发一个 MFC 应用程序,该应用程序读取和写入磁盘。有时这个应用程序运行得非常快,有时却非常慢。我猜测这是因为涉及磁盘访问,因此我想对其进行分析。这方面有一些疑问:
(1).目前我正在使用AQTime 分析器来分析应用程序。有人尝试过使用它来分析磁盘访问吗?或者还有其他我可以使用的工具吗?
(2)。我应该查看哪些最重要的磁盘参数?
(3)。如果我有多个线程尝试从磁盘读取和写入数据,会影响性能吗?即,我是否最好对磁盘进行单线程访问?
您可以使用Windows 性能工具包为了这。您可以为磁盘 I/O 事件启用跟踪提供程序,并查看每个事件的 I/O 时间和磁盘服务时间。但它确实有一些学习曲线。这还可以让您确定哪些文件 I/O 实际上导致对磁盘的实际访问,并且不由缓存管理器处理。
最重要的参数是磁盘服务时间和队列长度。磁盘服务时间是磁盘实际为请求提供服务所花费的时间。队列长度指示您的磁盘请求是否落后于其他请求。
对于许多带有读取和写入的线程 - 许多磁盘在面对后台写入的读取时性能较差。如果您有多个线程对磁盘上的随机位置执行大量磁盘 I/O,则可能会导致某些请求匮乏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)