![Raid 0、Raid 1、Raid 5、Raid6、Raid 10 读/写性能?](https://linux22.com/image/610301/Raid%200%E3%80%81Raid%201%E3%80%81Raid%205%E3%80%81Raid6%E3%80%81Raid%2010%20%E8%AF%BB%2F%E5%86%99%E6%80%A7%E8%83%BD%EF%BC%9F.png)
假设单个磁盘具有基线1W
和1R
性能,不同的 RAID 配置如何表现?
我最初的猜测:
Raid 0: 2W 2R
Raid 1: 1W 2R
Raid 5: ? ?
Raid 6: ? ?
Raid 10: ? ?
更新:
假设:
- 使用硬件 RAID
- 需要最少数量的磁盘,例如 Raid5 需要 3 个磁盘
答案1
- R0:环比表现大约翻倍
- R1:对写入没有或仅有轻微的负面影响,对随机读取的影响为 1-1.7(估计)倍
- R10:大致将所有东西都翻倍...(使用 linux mdadm 和一些调整,您可以将连续读取次数增加三倍)
- R5 3驱动器:与R0 2驱动器相同(假设您的控制器足够强大)
- R6 4drive:与 R0 2 drive 相同(假设您的控制器足够强大)
由于写入更改需要执行读取-修改-写入操作,因此 R5 和 R6 都会大大降低小规模(随机)写入的性能。
维基百科文章中有很多你正在寻找的信息标准 RAID 级别
答案2
使用 raid 0,理论上可以获得两倍的读写性能,但实际上这确实取决于工作负载。raid 1 不会为您提供额外的写入性能,我不确定它是否会为您提供额外的读取性能(它可能从两个磁盘读取,但我不知道它是否会)。
对于 raid 5/6,这不仅仅取决于磁盘数量。每次读取或写入将导致至少使用两个(raid 6 为三个)磁盘,并且您还需要计算资源(CPU 或 raid 卡)来计算和验证奇偶校验。
所有这些都省去了 RAID 控制器上的(电池供电的)写缓存。这也可以大大提高性能(事实上,如果没有它,我的许多数据库都无法运行!),而且这种性能提升与 RAID 级别或磁盘数量关系不大。
因此,找到问题实际答案的唯一方法是尝试一下,调整缓存设置并调整文件系统。没有任何理论答案是正确的,因为大多数行为在很大程度上取决于应用程序和配置。
答案3
它是非线性的,取决于磁盘数量(RAID-5 可以≥3 个磁盘)、条带大小、工作负载等。因此,这是完全错误的性能评估方法。
但通常考虑的是逻辑磁盘上单次写操作所涉及的R/W操作次数。