我经常和开发者讨论这个问题。 上下文是在Linux中运行的具有中等数量磁盘I / O的应用程序。 这些服务器是HP ProLiant DL3x0 G6,带有四个相同大小的磁盘(每分钟15k转),支持P410控制器和512MB电池或基于闪存的高速caching。 这里有两个思想stream派,我想要一些反馈。
1)。 我很想知道,创build一个包含在RAID 10(1 + 0)和分区中设置的全部四个磁盘的arrays是很有意义的。 这为增长提供了最大的空间,可以利用更高的主轴数量和更好的容错性而不降级。
2)。 开发人员认为最好有多个RAID 1对。 一个用于操作系统,另一个用于应用数据,因为主轴分离可以减less资源争用。 但是,这会通过减less驱动器数量来限制吞吐量,在这种情况下,除了正常的系统日志logging之外,操作系统并没有太多的function。
此外,我们拥有电池RAIDcaching和大量RAM的事实似乎抵消了磁盘延迟的影响。
你怎么看?
我的想法是演出谈话和牛头犬散步。
既然你正在讨论重新创build这个数组,为什么不这样做,并在其上运行testing负载,然后绘制结果呢?
编辑
如果像你在评论中所说的那样,现实生活表明,性能并不取决于底层的RAID级别(而且实际上确实有数据支持),那么我会build议继续使用级别随着规模的扩大,给你最大的性能,这几乎总是RAID-10。
如果你不打算扩大,那么这就不重要了,因为你显然是从两个选项中获得了相同的performance,而且你正在画自行车 。
由于没有人提供有关这个问题的任何真实世界的数据,我想指出一个有趣的文章,关于同一个确切的问题!
RAID 1 + 0或双RAID 1
从文章:
“尽pipe我们喜欢原始顺序吞吐量,但是对于大多数数据库应用程序和邮件服务器来说,这些应用程序几乎是毫无价值的,这些应用程序必须每秒钟处理数百甚至数千个在硬盘上随机访问的微小请求。超过95%的时间是在寻找数据,而不是实际读取或写入数据,这意味着即使是无限的连续吞吐量,最多也只能解决5%的性能问题。
食物的思考:如果您决定使用4块磁盘RAID-10,那么在将来的任何时候,开发人员都可以在出现性能问题时将手指指向您。 如果两台硬盘一起运行然后出现性能问题,则可以select切换到四个磁盘的RAID-10,具体取决于转换的复杂程度。