存储IOPS如何响应磁盘容量而变化?


12

在所有其他条件相同的情况下,如果使用更大的磁盘,存储阵列的IOPS性能将如何变化。

例如,采用包含10 X 100GB磁盘的阵列。

测量IOPS以进行连续256kb块写入(或任何IOPS指标)

假设测得的IOPS为1000 IOPS。

将阵列更改为包含10 X 200GB磁盘的阵列。使用相同的RAID配置,相同的块大小等进行格式化。

人们会期望IOPS保持不变,增加还是减少?这种变化大致是线性的吗?即增加2倍或减少2倍(因为我将磁盘容量增加了2倍)

对10 X 50GB磁盘重复这些问题。

编辑:更多上下文

这个问题是由于我的Sysadmin团队之间进行的一次对话引起的,该对话并不精通所有事物的存储。(在存储的许多方面都感到满意,但在管理SAN或其他方面的细节方面却不满意)。我们收到了一大堆新的Netapp托盘,这些托盘具有比我们现有托盘更高的每磁盘磁盘容量-两倍的容量。有人评论说,仅仅因为磁盘更大,新托盘的IOPS会更低。然后有一个汽车类比来解释这一点。两条评论都没有让我满意,所以我想将其用到团队,即Stack-Exchange-land。

汽车的类比是关于两辆汽车,它们具有不同的加速度,相同的最高速度并且行驶四分之一英里。然后将距离更改为半英里。实际上,我不记得确切的类比,但是由于我在interwebz上发现了另一个类似的类,所以我认为这可能是常见的IOPS类比。

在某些方面,对我来说,问题的实际答案并不重要,因为我们没有使用此信息来评估购买。但是,我们确实需要评估将托盘连接到现有喷头的最佳方法,以及切出骨料和体积的最佳方法。


2
如果磁盘容量增加,则每秒I / O操作不会增加-它们与端到端的传输速率和磁盘I / O速率(和缓存)有关。您要解决的具体问题是什么?
AugustBitTony 2014年

3
这是假设的(因此是题外话)吗?
mfinni 2014年

它并没有真正改变...除非您正在谈论通过短行程限制磁头在盘片上的移动...或者过度配置的SSD ...
ewwhite 2014年

附带一提,较大的磁盘通常包含更多的现代控制器,马达和磁头,较小的磁盘通常仅重用“足够好”的上一代磁盘,因此大容量磁盘通常较快,但不是因为它们较大,而是因为它们做得更好。

2
@mfinni:不幸的是,确实存在多云服务,基于(虚拟)磁盘大小对IOPS具有人为限制。有关详细信息,请参见我的答案。我以前见过“ devops”对此感到困惑。
dotancohen 2014年

Answers:


8

要直接回答您的问题- 其他所有条件都相等 = 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



但是,如果磁盘具有更大的容量,查找时间和等待时间是否会增加?
JDS

不一定是@JDS。有时他们这样做,有时却不这样做,因为制造商不断将更多的比特填充到盘片上(更多GB),并且还在不断改进硬盘的其他方面。当驱动器变大时,它通常还会同时进行其他硬件升级,这可能会缩短寻道时间或延迟,从而增加IOPS。但这都是有争议的,因为GB与IOPS没有直接关系,只有查找时间以及读写延迟会影响IOPS。
Ian Macintosh

11

我知道这可能是一个假想的问题……但是,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的企业SAS 10k磁盘迁移到600GB。主轴数相同时,您应该看不到任何性能差异...

但是,如果您提到的NetApp磁盘架使用6Gbps或12Gbps SAS背板而不是传统的3Gbps,则在使用较新的设备时,吞吐量可能会发生变化。


我编辑了原始问题以添加上下文。我选择的数字不是真实世界,它们只是为了使假设的计算更容易。另外,您的大多数其他评论都属于“所有事物都相等”列。假设唯一的变化是各个磁盘的容量
JDS 2014年

@JDS请参见上面的编辑。
ewwhite 2014年

9

磁盘大小和IOPS之间存在直接关系的地方Amazon AWS Cloud和其他“多云服务”。两种类型的AWS服务(弹性块存储关系数据库服务)为较大的磁盘大小提供更高的IOPS。

请注意,这是亚马逊对其服务施加的人为限制。没有这种情况的硬件绑定原因。但是,我看到一些不熟悉未虚拟化硬件的devop类型,他们认为此限制也适用于台式机系统等。磁盘大小/ IOPS关系是云营销限制,而不是硬件限制。


1
那是个很好的观点。我们正在寻找性能SLA,以为客户提供性能和容量。我们正在考虑使用基于层的“每TB的iops”模型-的想法是,我们可以用它来告知我们的升级周期-如果IOP:TB比率高,则购买SSD;如果IOP:TB比率低,则购买SATA。不是因为阵列的限制或约束,而是因为我们需要掌握成本与收费模型。
Sobrique

2
有趣。我没有想到这里的阴天。我猜想这表明了我的观点……
ewwhite 2014年

4

我应该指出,IOPS并不是衡量顺序写入速度的好方法,但我们可以继续使用它。

我怀疑尽管磁盘大小,磁盘头的查找和写入时间还是相当一致的。20年前,我们都在使用60GB磁盘(大致-肯定不是线性地)具有相同的读/写速度。

我正在做一个有根据的猜测,但我不认为磁盘的密度与磁盘的性能成线性关系。

例如,采用包含10 X 100GB磁盘的阵列。

测量IOPS以进行连续256kb块写入(或任何IOPS指标)

假设测得的IOPS为1000 IOPS。

将阵列更改为包含10 X 200GB磁盘的阵列。使用相同的RAID配置,相同的块大小等进行格式化。

人们会期望IOPS保持不变,增加还是减少?

大概彼此大致相等。

这种变化大致是线性的吗?

旋转媒体的历史告诉我,可能没有关系。

对10 X 50GB磁盘重复这些问题

同样,大致相等。

在所有这些情况下,您的速度都来自RAID的作用,就像一个带有十个写磁头的单个磁盘一样,因此您可以并行发送每个磁盘的1/10的工作。

尽管我没有硬性数据可以告诉您,但我过去的经验告诉我,提高磁盘性能并不像获得更多容量那样简单。

尽管市场营销人员告诉您创新是什么,但在便宜的固态硬盘问世之前,旋转介质的性能在过去20年中几乎没有显着发展,大概只有这么多可以摆脱生锈而且只有如此快的速度,我们才能使我们当前的磁盘磁头模型开始运行。


由于驱动器中磁盘的增加或磁盘密度的增加(每字节较少的移动),可能会有一些改进,但是我怀疑它是否很大。
比尔·魏斯

我预计您将获得的密度密度将为您带来准确性。
Matthew Ife

您在1994年拥有60GB磁盘!
沃伦2014年

3

每增加一个主轴,性能便会提高到存储规模。驱动器的转速是最大的因素,因此,与7.2k RPM驱动器相比,添加10k RPM驱动器将提供更高的性能(根据随机IO的IO / s或流IO的MB / s)。驱动器的大小几乎没有影响。

人们说,小型驱动器运行得更快是因为每个可用TB需要更多的主轴。增加这些主轴的驱动器大小不会降低性能,但是它将使您可以在磁盘上容纳更多数据,这可能导致工作量增加。


2

如果您假设其他所有条件都相同,那么大容量磁盘的性能特征不会有太大变化。10K RPM FC驱动器具有非常相似的特性,而不管它是300GB还是3TB。盘片以相同的速度旋转,磁头以相同的速度搜索。

吞吐量也同样保持不变-差别不大。但是,这是许多性能问题的根源,因为在许多情况下,人们购买TB级存储,而不是购买IOP或MB / sec。

重建/复制3TB驱动器和300GB驱动器所需的时间是原来的10倍。

结果,我们实际上不得不考虑存储项目的大量产能过剩-驱动器大小仍在增长,但是它们的性能并不高。因此,至少在一种情况下,我们购买了约400TB的存储空间以满足100TB的需求,因为我们需要主轴。


0

如果要旋转磁盘(不是SSD),则其他所有条件都是相同的,如果使用磁盘的外部磁道,则传输速度会更高。如果您使用仅部分填充的磁盘,这将自动发生。同时,如果仅部分填充磁盘,则平均磁头移动会减少,磁头移动的次数也会减少,因为每个磁道有更多数据。

无论您使用单个磁盘还是RAID驱动器,都是如此。

现在,如果要比较100GB和2000GB磁盘,则可以确定所有其他条件都不相等。但是,如果同一家制造商提供带有1个,2个,3个和4个磁盘的500GB,1TB,1.5TB和2TB驱动器,则其他所有条件都可能相等,并且10 x 500GB的存储速度将比10 x 2TB的存储4TB数据慢(如果仅存储100 GB,则不会有任何区别,因为500 GB的驱动器也几乎是空的)。

但是对于RAID驱动器,您将不受传输速度的限制,而受旋转延迟的限制。因此,更高的RPM将更为重要。而且,您通常会发现更高的RPM和更低的容量。另一方面,如果您使用高RPM /低容量,那么您可能还会考虑SSD驱动器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.