Live Optics |Optical Prime 光学 |队列深度:深入了解
Summary: 本文讨论了 Live Optics 如何报告队列深度。
Instructions
磁盘队列通常被认为是应用程序性能不佳的第一个指标,但通常过早地将其归咎于磁盘队列。以下解释是一个快速而肮脏的指南,用于理解一些揭开 Disk Que 神秘面纱的基本方法。
让我们把它分成两部分。对于那些没有时间继续阅读并更深入地了解为什么磁盘队列首先成为焦点的人来说,基本的肇事逃逸生存指南。
生存指南:
Optical Prime 项目从作系统的角度显示了整个录制期间每个样本的未完成 IO 数量。如果磁盘队列是问题所在,则它应该与同一时间段内的延迟紧密关联。所以,从好到坏:
- 低磁盘队列和低延迟 = 可能令人满意的应用程序和用户体验
- 高磁盘队列和低延迟 = 如果延迟保持理想状态,这应该没问题。
- 低磁盘队列和高延迟 = 需要注意,但它不太可能是您的存储。
- 高磁盘和高延迟 = 应将存储视为潜在的瓶颈。
应该调查最后一个问题,这里是表示性能随时间变化的 Optical Prime 值很重要的地方。如果磁盘队列导致延迟,则应看到两个值之间紧密相关的模式。
此条目显示了延迟和磁盘队列之间良好关联的示例。
要了解磁盘队列长度的基础知识,请考虑当地“Food-Mart”的结账线。每个人都知道演习......你选择你的物品,你排队结账,轮到你付款,最后你拥有物品。
每个人在度假或深夜也都去过那里,当时队伍很长,可怜的收银员会排成一排心烦意乱的人说:“为什么管理层不开辟更多的结账通道!
在基本定义级别上,磁盘队列是“排队等待”的未完成磁盘作的数量,因此通常将其视为指示存储故障的原因。
我们都知道,在 Food-Mart 增加更多的收银员会让队伍扇出并更快地工作,这样做是因为我们提高了并行工作的程度。相同的基本原则可应用于 IO 请求。如果我的服务器中只有一个磁盘尝试完成所有这些工作,或者甚至有一个小型 RAID 5 尝试完成这项工作。然后,我们可以设想应用程序将生成工作负载需求,其中 I/O 的签出行将得到备份。这种磁盘队列使用量过高的现象称为“受磁盘轴限制”。简单来说,磁盘无法跟上需求,因此形成了一条线,表现为作系统延迟。
基本准则是,超过 2-4 个的磁盘队列是坏的。
很简单,对吧?好吧,不幸的是,它变得更加复杂。
规则是每个磁盘超过 2-4 个的磁盘队列是坏的...它变得困难的原因是 Optical Prime 不会告诉您有多少个磁盘组成“F:开车。
看似微不足道,我们为什么不抓起磁盘的数量,收工呢?好吧,我们不能总是这样做。某些驱动器实际上是分区,E: 和 F: 驱动器可能位于同一磁盘上。存储阵列本身可以更好地掩盖真相。
任何可能向作系统表示卷或 LUN 的外部磁盘阵列都可能从作系统中屏蔽任意数量的驱动器。例如,阵列可能具有由 4 个或 9 个磁盘组成的 RAID 组,这些磁盘组成 LUN,在 Windows作系统中表示为“F:驱动器“...因此,如果我们的磁盘队列为 15,这不好吗......还是可以?
应用程序干扰
某些应用程序可以管理磁盘队列或对其做出响应。管理技术应用程序(如 SQL Server)可以限制 I/O,以免创建过多的未完成 IO。如果他们看到磁盘队列不断攀升,则可以通过不让它失控来掩盖问题。
数据模式
回到 Food-Mart 的收银台......当经理终于醒来并打开三个新的结账通道时,人们可以扇出并排队,因为他们的购买是无关的。它们类似于随机 I/O。每个人都独立于其他人完成这条线。随机 IO 相同。每个作都希望尽快完成,并不真正关心其他人。
顺序数据正好相反,可以认为更像是一部电影。电影是一系列“按顺序”播放的静止帧照片,为您提供电影的效果。为了使电影有意义,这些帧必须按顺序播放,并且取决于该顺序才能使电影有意义。(当然不包括任何昆汀·塔伦蒂诺的电影)
通常,顺序 I/O 无法分解为并行活动。根据运行顺序工作负载的程序的性质,您可能会看到,也可能不会看到增加的磁盘队列和延迟量,但可能会看到类似的相关性扩展到 I/O 传输大小。要了解有关此内容的更多信息,请阅读有关 I/O 传输大小如何影响延迟的文章。
总结
如今,借助 SSD 和虚拟化存储,磁盘成为瓶颈的几率与最高层使用 15 K RPM 驱动器时不同。尽管如此,每次您寻找延迟问题时,它都值得研究。
排除导致延迟的磁盘比找出延迟的原因要容易得多。但至少你可以少一个地方看:)。
Additional Information
如有任何问题,请通过 liveoptics.support@dell.com 联系 Live Optics 支持。