RAID 10 的读写能力
RAID 10 的性能估算比校验级别简单:随机读可以打满所有成员盘,因为每个镜像对里的两块盘都能独立响应读请求;随机写要落到镜像对内两块盘上,所以写能力约为总盘数 IOPS 的一半。这个「读全给、写折半」的口径,让 RAID 10 在读写混合的数据库与虚拟化场景里几乎总能给出可预期的结果。
基本信息
| 读公式 | 读 IOPS = N × 单盘 IOPS |
|---|---|
| 写公式 | 写 IOPS = N × 单盘 IOPS / 2 |
| 示例 | 8 块 15K SAS(单盘约 180 IOPS):读 1440、写 720 |
| SSD 场景 | 8 块 SATA SSD(单盘约 80000 IOPS):读 640K、写 320K(还会撞上卡与链路上限) |
| 容量代价 | 可用容量为总容量的一半,估算性能时不要忘记这条 |
计算过程
计算过程
# 8 块 15K SAS,单盘随机 IOPS 取 180
读 = 8 x 180 = 1440 IOPS # 每个镜像对两块盘都能出读
写 = 8 x 180 / 2 = 720 IOPS # 写惩罚 2:每份数据写进一个镜像对
按 8KB 随机块换算:1440 x 8KB ≈ 11.5MB/s(随机读吞吐)
顺序带宽 ≈ 8 x 单盘带宽 x 0.8 # 条带叠加,留控制器与背板开销
# 注意:以上是理论上限,缓存命中率与队列深度都会改变实测结果与其他级别的口径对照
| 级别 | 读公式 | 写公式 | 容量 |
|---|---|---|---|
| RAID 10 | N × 单盘 | N × 单盘 / 2 | N / 2 × 单盘 |
| RAID 5 | N × 单盘 | N × 单盘 / 4 | (N-1) × 单盘 |
| RAID 6 | N × 单盘 | N × 单盘 / 6 | (N-2) × 单盘 |
| RAID 0 | N × 单盘 | N × 单盘 | N × 单盘 |
估算落地的注意事项
- 区分随机与顺序:顺序读写受接口带宽限制,随机读写受盘片寻道或闪存并发限制,两套数字不能混用
- 镜像对数量决定写上限:写并发受镜像对数量与控制器队列限制,不是简单的盘数除以二
- SSD 阵列看控制器:单卡 SATA SSD 阵列的并发上限常由卡与链路决定,而不是盘本身
- 关键业务用实测校准:fio 按业务读写块大小与队列深度跑一轮,比任何公式都可靠
公式只是理论上限:控制器带宽、队列深度、缓存命中率与条带对齐都会影响结果,关键业务的容量与性能结论务必用 fio 实测校准。