如何确定 Windows Server 2012 在写入/读取本地 SSD 存储时使用的是随机还是顺序 I/O 操作?
我被要求向我们的硬件供应商提供有关服务器使用情况的详细信息,以便对服务器进行性能调整。他们想知道我们使用的是随机还是顺序。服务器正在运行 SQL Server 2012。我希望能够编译一些显示各种 I/O 操作的统计数据和/或日志,以确定我们使用的是随机还是顺序 I/O,以及每种操作的数量和时间。我想这可以通过一些性能监视器计数器或其他类型的跟踪事件来实现。我希望这能更好地解释这种情况。
答案1
在 SSD 上,顺序 I/O 是不是尽管没有移动部件,但速度与随机 i/o 相同。SSD 驱动器规格清楚地显示了这一点。
回到最初的问题,这是一个询问,即实际的工作负载是否是 x% 连续的,而 y% 是随机的。
在 Linux 世界中,有一个“blktrace”实用程序可以做到这一点。在 Windows 世界中,我目前正在留意,很快就会知道。从 SNDK Perf Engr 那里听说有“perfstat”,所以我会验证这个说法。
--固态硬盘
答案2
我不知道有什么好的工具可以直接从服务器上获取数据。相反,我建议用一个问题来回答他们的问题 - 如果你正在对 SSD 进行 IO,它没有移动部件,因此顺序 IO 的速度与随机 IO 相同,他们为什么要关心这个问题?他们是否试图为你调整部分位于常规磁盘上的新存储的大小?