matthias_buehlmann Asked: 2019-11-26 06:08:16 +0800 CST2019-11-26 06:08:16 +0800 CST 2019-11-26 06:08:16 +0800 CST Raid 0 性能与具有 n+1 个磁盘的 Raid 5 772 简而言之,是否可以预期具有 n+1 个磁盘的 Raid 5 与具有 n 个磁盘的 Raid 0 具有相似的性能? 如果没有,有人可以解释为什么吗? 如果我理解正确,Raid 5 也会将异或数据分布在所有磁盘上,所以我期望类似的性能 raid 1 个回答 Voted Best Answer Eugen Rieck 2019-11-26T06:25:29+08:002019-11-26T06:25:29+08:00 对于读访问,预计 RAID5 具有与 RAID0 相似的性能,如果访问受寻道时间限制,理论上甚至会更好一些。 对于随机模式的写访问,预计 RAID5 的性能比 RAID0 差得多——原因如下:考虑更改 n+1 RAID5 中的单个块,并且由于访问的随机性,该条带中没有其他块在缓存中。现在 RAID 控制器必须 读取该条带中的所有其他数据块(n-1 个块) 计算新的奇偶校验块 写入新数据块和新奇偶校验块 即对于总缓存未命中,RAID0 中的一次写入转换为 RAID5 的 n-1 次读取和 2 次写入。即使完整的条带在缓存中,对于每个逻辑写入,您仍然会得到 2 次物理写入。 RAID 控制器试图通过将奇偶校验块保存在电池支持的 RAM 中来缓解这种情况,这样当另一个写入命中同一个条带时,奇偶校验块只被写入一次。如果访问模式非常随机,这仍然会导致严重的性能损失。 编辑 根据我的评论,我没有详细说明编写奇偶校验块所固有的问题:这些有两个重点 为了使不一致窗口尽可能小,写入更改的数据块和写入更改的奇偶校验块必须在时间上尽可能紧密地同时发生——这大大减少了可能的优化量。 虽然奇偶校验块和数据块被写入不同的磁盘,因此可以并行,但奇偶校验磁盘也用于其他请求。因此,虽然它可以与当前请求并行化,但它将与下一个和上一个请求序列化。没关系,另一个条带可能使用另一个奇偶校验磁盘 - 在这种情况下,一个请求的奇偶校验写入与另一个请求中的数据访问序列化。
对于读访问,预计 RAID5 具有与 RAID0 相似的性能,如果访问受寻道时间限制,理论上甚至会更好一些。
对于随机模式的写访问,预计 RAID5 的性能比 RAID0 差得多——原因如下:考虑更改 n+1 RAID5 中的单个块,并且由于访问的随机性,该条带中没有其他块在缓存中。现在 RAID 控制器必须
即对于总缓存未命中,RAID0 中的一次写入转换为 RAID5 的 n-1 次读取和 2 次写入。即使完整的条带在缓存中,对于每个逻辑写入,您仍然会得到 2 次物理写入。
RAID 控制器试图通过将奇偶校验块保存在电池支持的 RAM 中来缓解这种情况,这样当另一个写入命中同一个条带时,奇偶校验块只被写入一次。如果访问模式非常随机,这仍然会导致严重的性能损失。
编辑
根据我的评论,我没有详细说明编写奇偶校验块所固有的问题:这些有两个重点