首先我很抱歉,如果这个问题已经被问到。 我GOOGLE了一下,并GOOGLE了一些,似乎无法find我在找什么。
任何人都知道一个软件或基于Web的计算器,可以让你插入一个RAIDconfiguration(下面的例子),并输出预期的R / W速度,希望在MB
磁盘数量,大小,旋转,types,Raidtypes
EX。 (8,73Gb,15k,SAS,Raid 1/0)
要么
EX。 (6,146Gb,10k,FC,Raid 5)
我发现严重,计算可用空间。 一些提供一些速度信息,但他们不能现实,因为他们不旋转或键入考虑。
我不知道可以告诉你的计算器,部分原因是除了磁盘和连接types因素之外,还有其他许多因素。 RAID控制器和这些控制器上的固件,数据types以及主板推送数据的能力都有很大不同。 你最好的赌注是你自己的基准。 我什至不能想办法写一个计算器做这样的事情。 另外我相信,对于大多数操作来说,networking在RAID之前可能会遇到瓶颈。
有相当多的变数可以影响速度,但是这里有一些基本的想法来感受一下给定的raid集应该能够达到的效果。
原始磁盘吞吐量
假设一个随机查找完成平均1/2旋转(180度)远离你想要的扇区,平均随机访问时间是一个平均search加上磁盘旋转180度的时间。
在10K RPM磁盘上,1/2的旋转需要大约3ms。
在15K RPM的磁盘上,旋转的1/2需要大约2ms。
希捷猎豹15K6的平均寻道时间是3.5毫秒读取和3.9毫秒写入(我认为写入包括一段时间来alignment伺服轨道上的头)。 一个10K的磁盘稍长。
所以,一个15K驱动器的平均每次随机查找5.5ms,10K驱动器的平均值为7ms。 标记的命令队列将略微优化。 因此,对于15K驱动器,对于10K驱动器,我们具有约180 IOPS和140 IOPS的理论随机吞吐量。
RAID-1
在非条带RAID-1上,读取可以在两个磁盘之间分开,但写入必须到两个驱动器。 随机操作将为您提供两倍的单个磁盘读取吞吐量和大约一个磁盘写入吞吐量。 顺序I / O趋向于在单个磁盘的最大吞吐量时达到峰值。 接口电缆可能会或可能不会出现瓶颈。
条纹RAID集
RAID-5,RAID-10或RAID-50磁盘将数据以循环方式分散到RAID组成员之间的块中。 假设没有预读优化,磁盘每转一圈最多可以读取一个条带。 10K磁盘每秒旋转约170次,15K磁盘每秒旋转约250次。
对于64K条纹,每10K磁盘大约10MB /秒或每15K磁盘15MB /秒。 更大的条带大小为您提供了更好的磁盘顺序吞吐量 – 例如,15K磁盘arrays上的256K条带大小将使您每个磁盘达到60MB /秒。 高度随机的访问工作量将通过在search之间引入更多的延迟来减less这种情况 控制器上的预读可能会增加它。
因此,假设没有其他限制,具有14个15K磁盘使用64K条带的arrays将具有大约210MB / sec的理论stream传输吞吐量。 如果控制器速度不够快,实际速率可能会降低(例如,我永远不可能得到一个戴尔PV660(Mylex DAC-FFX),以便每转两次读取磁盘)。 高度随机的访问工作负载也会稍微慢一点,因为磁盘访问的平均每个磁盘的转数不到一次。 一些读取也将用于奇偶校验数据,所以实际的应用数据吞吐量会稍微慢一些。
写瓶颈
RAID-5上可能的最快写入包括两次读取和两次写入。 控制器必须读取旧块和相应的奇偶校验块,用奇偶校验块对旧数据和新数据进行XOR,重新计算奇偶校验,并写出新的块和奇偶校验。 如果旧块和奇偶块在caching中,caching可以减less磁盘活动的数量。 这同样适用于RAID-50。
RAID-10每次写入需要两次磁盘访问 – 一次是主要,另一次是镜像。 读取性能大致相当于RAID-5。
控制器瓶颈
在某些情况下(光纤通道容易发生这种情况),到物理磁盘子系统的连接的带宽比理论上能够提供的磁盘要低。 此外,磁盘控制器可能performance不佳。 在许多情况下,这是比磁盘本身更重要的限制。 高端SAN硬件通常具有大型多处理器机器作为控制器 – 它们也可以具有用于快速奇偶校验计算的定制硬件。 EMC DMX的控制器本身占用了半个机架 – 在放置任何磁盘之前。
调整磁盘本身
磁盘上的caching和预读参数本身也可能影响某些工作负载的性能。 例如,使用希捷“V”固件的磁盘可能会设置较less的较大caching段,并提前预读以优化媒体数据的stream式吞吐量。 configuration用于Clariion的同一物理磁盘将configuration更多,更小的caching段,以支持来自SAN上许多客户端的大量较小的写入。
根据驱动器,控制器和工作负载的不同,你将看到的速度差别很大,所以你不会罚款一个简单易用的计算器,它会给出准确的精确结果。
你可能已经意识到这一点,但..
除了所有的驱动特性,速度将主要受任何给定RAID卡的性能支配。 这不仅取决于它的接口(如PCI-X)等明显的东西。 但更重要的是它的芯片组例程的质量和性能。
正如其他人所说,我不认为这可以用你所说的条款来完成。 我认为你所能做的最好的是找出不同RAID选项的相对性能,即把硬件视为一个常量。 这仍然是不准确的,但可能会提供一些指导。
但我想你也需要考虑为什么有不同的RAIDconfiguration。 人们通常通过判断性能,容量,数据保护和成本之间的权衡来select。
如果您不熟悉权衡,请查看比较图来查看相对优点。
这听起来像是你的主要标准,所以你可能知道你想要的raid级别。 你只需要find性能最好的硬件。
下面是一个例子:我用相同的驱动器(7x750GB希捷酷鱼ES2),相同的RAIDconfiguration(条纹大小等),相同的主板(Supermicro H8DMe),相同的CPU(双Opteron 2214),相同的RAM(8GB ECC)和相同的操作系统(Linux),相同的文件系统(XFS,nobarrier选项)和不同的RAID控制器 。 欣赏结果:
当然,在调整各个旋钮的同时,通过长时间重复的基准testing,为每个控制器精确设置所有软件参数(预读,caching选项,请求队列长度,请求大小…),这些都是最佳结果。
通过仔细的基准testing发现的一个有趣的事情是,如果使用Barracuda ES2(32MBcaching)和Barracuda ES(16MBcaching)驱动器,设置是完全不同的,尽pipe最高性能大致相同。
不幸的是,存储和RAID 很难 。 这就是为什么你不会find一个易于使用的性能计算器。
我find了一个计算器 ,可以给你速度的倍数。
它归结为
如果这些计算器存在,他们将在供应商的网站上。 如此多的事情可能会影响吞吐速度,简单的计算器将毫无价值。 特别是对于任何包含奇偶校验的RAID,因为RAID控制器的 CPU比其他任何东西都更容易受到瓶颈。 types估计人员认为,最好的办法是“经验法则,你的里程可能会有所不同”。
速度比底层RAID布局还要多,所以我怀疑你会find这样一个计算器。
事情可以有所作为:
团队types
什么types的巴士是控制器在…什么是共享这个巴士。 大多数台式机主板共享带有多个插槽的PCI总线。
文件系统types,数据块大小,以及与底层RAID中的块大小alignment也起作用。
驱动器types,转速,caching大小
最后,工作量也将与所有这些事情相互作用。 所以更重要的问题是,磁盘和RAID布局是否与您的工作负载和数据可用性目标完全匹配。