首先,如果有人问了这个问题,我深表歉意。我已经用谷歌搜索了……又用谷歌搜索了一些,但似乎找不到我要找的东西。
任何人都知道可以让您插入 RAID 配置(下面的示例)并输出预期 R/W 速度的软件或基于 Web 的计算器,希望以 MB 为单位
磁盘数量、大小、旋转、类型、Raid 类型
前任。(8、73Gb、15k、SAS、Raid 1/0)
或者
前任。(6、146Gb、10k、FC、Raid 5)
我发现严重计算可用空间。有些提供了一些速度信息,但它们不现实,因为它们没有考虑旋转或输入。
有很多变量会影响速度,但这里有一些基本的想法可以让您了解给定的团队应该具备的能力。
原始磁盘吞吐量
假设随机寻道平均完成距离所需扇区 1/2 的旋转(180 度),则平均随机访问时间是一次平均寻道加上磁盘旋转 180 度所需的时间。
在 10K RPM 磁盘上,旋转 1/2 大约需要 3ms。
在 15K RPM 磁盘上,旋转 1/2 大约需要 2ms。
Seagate Cheetah 15K6 的平均寻道时间为读取 3.5 毫秒,写入 3.9 毫秒(我假设写入包括将磁头对准伺服磁道的时间段)。10K 磁盘稍长一些。
RAID-1
在非条带化 RAID-1 上,读取可以在两个磁盘之间拆分,但写入必须到两个驱动器。随机操作将为您提供两倍于单个磁盘的读取吞吐量和大约单个磁盘的写入吞吐量。顺序 I/O 往往会在单个磁盘的最大吞吐量时达到峰值。接口电缆可能会或可能不会出现瓶颈。
条带化 RAID 集
RAID-5、RAID-10 或 RAID-50 磁盘将数据分成块,以循环方式分布在 RAID 集的成员之间。假设没有预读优化,磁盘每转一圈最多可以读取一个条带。10K 磁盘每秒旋转约 170 次,15K 磁盘每秒旋转约 250 次。
因此,假设没有其他限制,具有 14 个使用 64K 条带的 15K 磁盘的阵列的理论流吞吐量约为 210MB/秒。如果控制器不够快,实际速率可能会更低(例如,我永远无法让戴尔 PV660(Mylex DAC-FFX)在磁盘每转两圈时读取一次以上)。大量随机访问工作负载也会稍慢一些,因为磁盘访问平均每转磁盘一次少于一次。一些读取也将用于奇偶校验数据,因此实际的应用程序数据吞吐量会慢一些。
写瓶颈
RAID-5 上最快的写入涉及两次读取和两次写入。控制器必须读取旧块和相应的奇偶校验块,将新旧数据与奇偶校验块进行异或以重新计算奇偶校验并写出新块和奇偶校验。如果旧块和奇偶校验块在缓存中,缓存可以减少磁盘活动量。这同样适用于 RAID-50。
RAID-10 每次写入需要两次磁盘访问 - 一个访问主磁盘,另一个访问镜像。读取性能大致相当于 RAID-5。
控制器瓶颈
在某些情况下(光纤通道容易出现这种情况),与物理磁盘子系统的连接带宽比磁盘理论上能够提供的带宽要低一些。此外,磁盘控制器的性能可能很差。在许多情况下,这是比磁盘本身更重要的限制。高端 SAN 硬件通常具有大型多处理器机器作为控制器——它们也可能具有用于快速奇偶校验计算的定制硬件。EMC DMX 的控制器本身占据了半个机架 - 在您将任何磁盘放在上面之前。
调整磁盘本身
磁盘本身的缓存和预读参数也可能会影响某些工作负载的性能。例如,使用 Seagate 的“V”固件的磁盘可能会设置为更少的较大缓存段和积极的预读,以优化媒体数据的流式吞吐量。为在 Clariion 中使用而配置的同一物理磁盘将配置更多、更小的缓存段,以支持来自 SAN 上的许多客户端的大量较小的写入。
我不知道有哪个计算器可以告诉你,部分原因是除了磁盘和连接类型因素之外还有很多其他因素。RAID 控制器、这些控制器上的固件、数据类型以及主板推送数据的能力都有很大的不同。您最好的选择是自己进行基准测试。我什至想不出一种方法来写一个计算器来做那种事情。此外,我相信对于大多数操作来说,网络可能会在 RAID 之前成为瓶颈。
您将看到的速度取决于驱动器、控制器和您的工作负载,因此您不会很好地使用一个可以提供良好准确结果的简单计算器。
您可能已经意识到这一点,但是..
除了所有驱动器特性外,速度将在很大程度上取决于任何给定 RAID 卡的性能。这不仅取决于明显的东西,比如它的接口(例如 PCI-X)。但更引人注目的是它的芯片组例程的质量和性能。
正如其他人所说,我认为这不能按照您所说的条件来完成。我认为你能做的最好的就是计算出不同raid选项的相对性能,即将硬件视为一个常数。它仍然不准确,但可能会提供一些指导。
但我认为你还需要考虑为什么会有不同的raid配置。人们通常通过判断性能、容量、数据保护和成本之间的权衡来选择。
如果您不熟悉权衡,请查看比较图表以了解相对优点。
听起来性能是你的主要标准,所以你可能知道你想要什么突袭级别;你只需要找到性能最好的硬件。
这是一个示例:我使用相同的驱动器(7x750GB seagate barracuda ES2)、相同的 RAID 配置(条带大小等)、相同的主板(Supermicro H8DMe)、相同的 CPU(双 Opteron 2214)、相同的 RAM(8GB ECC)进行了基准测试和相同的操作系统(Linux)、相同的文件系统(XFS、nobarrier 选项)和不同的 RAID 控制器。欣赏结果:
当然,这些是在为每个控制器(预读、缓存选项、请求队列长度、请求大小......)微调所有软件参数后的最佳结果,方法是在调整各种旋钮的同时进行长时间和重复的基准测试。
我通过仔细的基准测试发现的一件有趣的事情是,如果您使用梭子鱼 ES2(32MB 缓存)和梭子鱼 ES(16MB 缓存)驱动器,设置完全不同,尽管顶级性能大致相同。
不幸的是,存储和 RAID很难。这就是为什么您找不到一个易于使用的性能计算器的原因。
我找到了一个计算器,它会给你速度的乘数。
归结为
如果这些计算器存在,它们将在供应商网站上。如此多的事情会影响吞吐量速度,以至于一个简单的计算器将毫无价值。特别是对于任何包含奇偶校验的 RAID,因为它们往往比其他任何东西更容易成为RAID 控制器CPU 的瓶颈。你会发现最好的是,“经验法则,你的里程可能会有所不同,”类型估计器。
速度比底层的raid布局涉及更多,所以我怀疑你会找到这样的计算器。
有所作为的事情可以有所作为:
突袭类型
控制器在什么类型的总线...它与什么共享此总线。大多数桌面级主板共享具有多个插槽的 PCI 总线。
文件系统类型、块大小以及它与底层 raid 上的块大小的对齐也会发挥作用。
驱动器类型、转速、缓存大小
最后,工作负载也将与所有这些东西交互。因此,更重要的问题实际上是哪种磁盘和 RAID 布局最适合您的工作负载和数据可用性目标。