Eric Swiggum Asked: 2014-03-08 09:54:33 +0800 CST2014-03-08 09:54:33 +0800 CST 2014-03-08 09:54:33 +0800 CST 磁盘延迟与吞吐量 772 我在网上搜索了一段时间,并没有找到我满意的答案。我正在提供新光盘的 VM 上测试 SQL Server。 如果磁盘延迟减少,吞吐量不应该增加吗?磁盘延迟和吞吐量之间是否存在直接关联?似乎如果我有更快的磁盘,我应该会看到吞吐量增加。 sql-server performance 1 个回答 Voted Best Answer Jack Douglas 2014-03-08T11:17:56+08:002014-03-08T11:17:56+08:00 预先定义术语可能会有所帮助。 关于 I/O,术语延迟以(至少)两种方式使用。这可能意味着: 在任何给定时间服务 I/O 所需的平均时间。这就是 Paul Randal 在“如何从 SQL Server 中检查 IO 子系统延迟”中使用它的方式,并且可以使用(例如)性能监视器和诸如“Avg. Disk sec/Read”之类的计数器来测量它。我将把它称为“测量的”延迟,它与给定时间的队列长度(反比)相关,但它是一个更有帮助的度量,因为从用户的角度来看,它很容易与实际性能相关联。 单个 I/O 隔离所花费的平均时间。这就是它通常用于 HDD 和 SSD 的规格表的方式,例如Seagate 的这款。我将其称为“固有”延迟(有时也称为“访问时间”)。 吞吐量在不同的上下文中也可能意味着不同的东西: 顺序数据传输的最大速率,通常以 MB/秒为单位 I/O 操作的最大速率通常以 IOPS 衡量 当前的数据传输速率,例如使用性能监视器和“磁盘字节/秒”等计数器测量的速率 似乎如果我有更快的磁盘,我应该会看到吞吐量增加。 由于您表达这一点的方式,我认为您具体谈论的是引用的 MB/秒和磁盘驱动器的“固有”延迟。如果是这种情况,那么答案是“不,磁盘延迟和吞吐量之间没有直接关联”。HDD 的延迟受寻道时间和旋转速度的影响,但它仅适用于第一次读取:后续顺序读取没有相同的延迟。SSD 的机制有所不同,但制造商仍然可以调整它们以获得高“吞吐量”或高 IOPS,而块大小等问题很重要。
预先定义术语可能会有所帮助。
关于 I/O,术语延迟以(至少)两种方式使用。这可能意味着:
吞吐量在不同的上下文中也可能意味着不同的东西:
由于您表达这一点的方式,我认为您具体谈论的是引用的 MB/秒和磁盘驱动器的“固有”延迟。如果是这种情况,那么答案是“不,磁盘延迟和吞吐量之间没有直接关联”。HDD 的延迟受寻道时间和旋转速度的影响,但它仅适用于第一次读取:后续顺序读取没有相同的延迟。SSD 的机制有所不同,但制造商仍然可以调整它们以获得高“吞吐量”或高 IOPS,而块大小等问题很重要。