在所有其他条件相同的情况下,如果使用更大的磁盘,存储阵列的 IOPS 性能将如何变化。
例如,采用具有 10 X 100GB 磁盘的阵列。
测量连续 256kb 块写入的 IOPS(或任何 IOPS 指标)
假设结果测量的 IOPS 为 1000 IOPS。
将阵列更改为具有 10 X 200GB 磁盘的阵列。使用相同的 RAID 配置、相同的块大小等进行格式化。
人们会期望 IOPS 保持不变、增加还是减少?这种变化会大致呈线性吗?即增加2X或减少2X(因为我已经将磁盘容量增加了2X)
用 10 X 50GB 磁盘重复这些问题。
编辑:更多上下文
这个问题是我的系统管理员团队之间的一次对话,他们并不精通所有的存储。(适用于存储的许多方面,但不适用于管理 SAN 的细节或其他)。我们收到一大堆新的 Netapp 托盘,它们的每个磁盘的磁盘容量比我们现有的托盘更高——容量翻倍。有人评论说,新托盘的 IOPS 会因为磁盘更大而更低。然后出现了一个汽车类比来解释这一点。这两条评论都没有让我满意,所以我想把它交给 The Team,即 Stack-Exchange-land。
汽车类比是关于两辆汽车,具有不同的加速度,相同的最高速度,并运行四分之一英里。然后将距离更改为半英里。实际上,我不记得确切的类比,但由于我在 interwebz 上找到了另一个类似的类比,我认为这可能是一个常见的 IOPS 类比。
在某些方面,这个问题的实际答案对我来说并不重要,因为我们没有使用这些信息来评估购买。但我们确实需要评估将托盘连接到现有头部的最佳方式,以及划分骨料和体积的最佳方式。
我知道这可能是一个假设性问题……但 IT 世界确实不是这样运作的。需要考虑一些现实的限制因素,以及其他可能影响 IOPS 的因素......
50GB 和 100GB 磁盘不再存在。考虑更多:企业磁盘中的72、146、300、450、600、900、1200GB以及近线/中线大容量存储介质中的500、1000、2000、3000、4000、6000GB 。
现代存储中有很多抽象;磁盘缓存、控制器缓存、SSD 卸载等,任何差异都难以辨别。
您需要考虑不同的驱动器外形尺寸、接口和转速。SATA 磁盘具有与 SAS 或近线 SAS不同的性能配置文件。7,200RPM 磁盘的行为不同于 10,000RPM 或 15,000RPM。并且各种转速的可用性仅限于某些容量。
物理控制器布局。SAS 扩展器、RAID/SAS 控制器会影响 IOPS,具体取决于磁盘布局、超额订阅率、连接是在服务器内部还是在外部机箱中。大量 SATA 磁盘在扩展器上和驱动器错误情况下性能不佳。
其中一些可能受到磁盘阵列上的碎片、已用容量的影响。
听说过短行程吗?
软件与硬件 RAID、预取、自适应分析...
是什么让您相信容量首先会对性能产生任何影响?你能提供更多的上下文吗?
编辑:
如果磁盘类型、外形尺寸、接口和使用容量相同,则 IOPS 应该没有明显差异。假设您要从 300GB 到 600GB 企业 SAS 10k 磁盘。使用相同的主轴数,您不应该看到任何性能差异......
但是,如果您提到的 NetApp 磁盘架使用 6Gbps 或 12Gbps SAS 背板而不是传统的 3Gbps,您可能会看到在使用更新设备时吞吐量发生了变化。
磁盘大小和 IOPS 之间存在直接关系的一个地方是亚马逊 AWS 云和其他“云服务”。两种类型的 AWS 服务(弹性块存储和关系数据库服务)为更大的磁盘大小提供更高的 IOPS。
请注意,这是亚马逊对其服务施加的人为限制。这种情况没有硬件限制的原因。但是,我看到不熟悉非虚拟化硬件的devops 类型认为这种限制也适用于桌面系统等。磁盘大小/IOPS 关系是云营销限制,而不是硬件限制。
直接回答您的问题 -所有其他条件都相同= GB 变化时没有任何变化。
您不使用 GB 来衡量 IOPS。您使用寻道时间和延迟。
我可以在这里全部重写,但是下面的这些示例已经完成了所有这些,我只是重复一遍:
https://ryanfrantz.com/posts/calculating-disk-iops.html
http://www.big-data-storage.co.uk/how-to-calculate-iops/
http://www.wmarow.com/strcalc/
http://www.thecloudcalculator.com/calculators/disk-raid-and-iops.html
我应该指出,IOPS 并不是衡量顺序写入速度的重要指标,但让我们继续吧。
我怀疑磁盘磁头的查找和写入时间是相当一致的,尽管磁盘有大小。20 年前,我们都在使用 60GB 磁盘,具有(大致 - 当然不是线性)相同的读/写速度。
我在做一个有根据的猜测,但我不认为磁盘的密度与磁盘的性能呈线性关系。
好的
可能保持大致相等。
旋转媒体的历史告诉我可能没有任何关系。
同样,大致等价。
在所有这些情况下,您的速度都来自这样一个事实,即 RAID 就像一个具有十个写头的单个磁盘,因此您可以将 1/10 的工作并行发送到每个磁盘。
虽然我没有确切的数字可以向您展示,但我过去的经验告诉我,提高磁盘性能并不像获得更多容量那么简单。
尽管营销人员告诉你的是创新,但在廉价(呃)固态磁盘开始之前,过去 20 年旋转介质的性能几乎没有显着发展,大概只有这么多你可以摆脱生锈只有这么快,我们才能让我们当前的磁盘磁头型号运行起来。
添加到存储的性能随着每个轴的添加而扩展。驱动器的转速是最大的因素,因此添加 10k RPM 驱动器将提供比 7.2k RPM 驱动器更高的性能(以随机 IO 中的 IO/s 或流 IO 中的 MB/s 计算)。驱动器的大小几乎没有影响。
人们说小型驱动器运行速度更快只是因为每个可用 TB 需要更多的主轴。增加这些轴的驱动器大小不会降低性能,但它可以让您在磁盘上容纳更多数据,这可能会导致工作量增加。
如果您假设所有其他条件都相同,那么大容量磁盘的性能特征不会发生太大变化。10K RPM FC 驱动器无论是 300GB 还是 3TB 都具有非常相似的特性。盘片以相同的速度旋转,磁头以相同的速度寻道。
持续的吞吐量同样 - 差别不大。这是许多性能问题的根源,因为在许多情况下,人们购买 TB,而不购买 IOP 或 MB/秒。
将 3TB 驱动器重建/复制为 300GB 驱动器需要 10 倍的时间。
结果,我们实际上不得不考虑存储项目的大量过剩容量 - 驱动器尺寸仍在增长,但它们的性能能力并不大。因此,至少在一种情况下,我们购买了约 400TB 的存储空间来满足 100TB 的需求,因为我们需要主轴。
如果您正在旋转磁盘(不是 SSD),那么在其他条件相同的情况下,如果您使用磁盘的外部磁道,则传输速度会更高。如果您使用仅部分填充的磁盘,则会自动发生这种情况。同时,如果磁盘仅部分填充,则平均磁头移动会更少,磁头移动次数也会更少,因为每个磁道有更多数据。
无论您使用单个磁盘还是 RAID 驱动器,都是如此。
现在,如果您比较 100GB 和 2000GB 磁盘,您可以确定其他一切都不相同。但是,如果同一制造商提供 500GB、1TB、1.5TB 和 2TB 驱动器以及 1、2、3 和 4 个盘片,那么其他一切都可能相同,并且 10 x 500GB 将比 10 x 2TB 存储 4TB 数据慢(如果只存储 100 GB 则没有区别,因为 500 GB 驱动器也几乎是空的)。
但是对于 RAID 驱动器,您将不受传输速度的限制,而是受到旋转延迟的限制。所以更高的 RPM 会更重要。而且您经常会发现更高的 RPM 和更低的容量。另一方面,如果您使用高 RPM/低容量,那么您可能还会考虑 SSD 驱动器。