高并发下, 2 块 nvme ssd 硬盘组 RAID1 和 RAID0 哪个读取速度快?

2022-05-09 08:44:21 +08:00
 kisshere
场景为高并发下,只读不写,随机访问大量的小文件
另外,组 RAID1 和 RAID0 对 ssd 硬盘,哪种硬盘寿命更长?
3204 次点击
所在节点    程序员
13 条回复
villivateur
2022-05-09 08:46:03 +08:00
要看 RAID 策略,理论上 RAID1 和 RAID0 的读取速度最大为 2N ,但某些 RAID1 策略速率仍是 N 。

对寿命的影响的话,两种策略我觉得一样
liuliangyz
2022-05-09 08:50:57 +08:00
明显 raid0 啊,raid0 的速度是分别向 2 块硬盘写入速度,速度是两块硬盘最低速度*2 。
寿命看,也是 raid0 寿命长一倍,因为每个盘数据量只写一半。
容量是*2
而 raid1 是同一个数据同时向 2 快硬盘写入数据,同样的数据 2 块硬盘都写入。所以坏了一块硬盘,另一块硬盘有完整的备份。
容量是 1 块盘的容量。

你可以理解 raid1 是双硬盘热备。
yousabuk
2022-05-09 08:54:44 +08:00
当然 raid0
spacezip
2022-05-09 09:10:16 +08:00
人家说的是高并发的只读 如果 raid 卡性能足够 我认为 0 稍快 但是差距不大 而且高端的 nvme 单盘就快吃满 40g 接口了 除非多口 bond 或者上 100g 400g 的接口
cpstar
2022-05-09 09:10:24 +08:00
RAID0 和 RAID1 完全不一样啊,为啥要对比 RAID0 和 RAID1 的性能?对 RAID0 、1 的内容没有理解么?

读 SSD 不磨损 SSD (相较于写),随便读。但是从 RAID0 的机制上,RAID0 的效率更高一些,毕竟总口带宽是单盘的 n 倍。至于盘内随机访问的效率,并发,那就是单盘的能力了。而数据在盘间的分散存储之后的读取,就看阵列卡的效率了。
pusheax
2022-05-09 09:24:40 +08:00
如果讨论碎片文件读取,其实不能用常规思维去思考。
raid0 的连续写入性能确实会有明显提升。但说到 4k 性能,受其它因素影响很明显,如阵列卡性能。
之前贴吧有老哥测试 SATA SSD 组 Raid ,和傲腾 SSD 组 Raid ,4k 性能提升很有限。
其实目前顶级 SSD 单盘的 4K 已经很夸张了,不妨关注一下 SSD 本身?走 PCIE4 的顶级 SSD 速度是可以比一般的 SSD 速度 x2 更快的。
还有缓存的设计,钱多可以全砸内存上,做特别大的 mem cache 性能提升会更明显。
cat9life
2022-05-09 10:01:53 +08:00
我也不明白为什么拿 Raid1 和 Raid0 比速度...
ivan_wl
2022-05-09 10:51:40 +08:00
楼上那些说 raid0 快的,是真的懂么?
理论上顺序读,raid1 == raid0 ;
小数据量随机读,raid1 > raid0 。

raid0 和 raid1 的读可以理解为在所有盘上做负载均衡。
raid0 的 interleave 单元是 chunk ,一般 chunk 都是比较大的。
raid1 读可以做 lba 级别的 interleave ,这个粒度远小于 raid0 。

而且 raid0 每个盘上只有部分的数据,raid1 每个盘都有全部数据。
raid0 的随机读最差可能全落在单独的某个盘上。raid1 没有这个问题。
microxiaoxiao
2022-05-09 13:03:06 +08:00
应用场景是只读不写的话,对寿命没有影响,ssd 主要是擦出次数受限,理论上说,raid0 并行读取基本是快于 1 的,举例:你在读取 100G 数据,raid1 相当于读取数据的时候不完全平均读取,那么可能就是一个 60G 一个 40G ,而 raid0 的话,写入都基本均分了,基本同时读取 50G ,两个盘读取比较均匀,但是坏了就没了哟。
documentzhangx66
2022-05-09 13:26:11 +08:00
不一定,因为 Raid 卡配置不一样,Raid 业务逻辑的实现不一样,严谨度不一样,会导致性能会有巨大差异。

比如严谨的厂家会让 raid 1 也带上校验。此时没校验的 raid 0 当然更快。但如果 raid 1 不带校验,那么读操作 raid1 比 raid 0 少一次 IO ,当然会更快。
stevefan1999
2022-05-09 15:55:27 +08:00
只讀不寫那肯定是 RAID1 讀取速度 Xn 了( RAID1 也就是 mirror 實際上不只兩個盤) 而且自帶多重保護 但是如果想要平衡點就 RAID0

當然有錢的話 我全都要(指 RAID10 )
如果你將來想升級做 RAID10 RAID1 是一個不錯的選擇( RAID10=先 RAID1 雙盤再再雙盤下 RAID0 )
sonaxyjh
2022-05-09 17:47:18 +08:00
我自己测试 z690 的 raid0 下 4k 成绩和单盘对比几乎没有提升,顺序读大概提升 30%
原理上来说,Raid0 的寿命应该是两块盘 TBW 上限之和,raid1 寿命等同寿命最短的那块,但就算坏了一块数据还在
autoxbc
2022-05-09 20:51:15 +08:00
@ivan_wl #8 一些控制器对 RAID 1 的策略是单盘读双盘写,所以对读取没有任何速度提升,比如最常见的板载 Intel RST RAID 和 Windows 动态磁盘镜像卷

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851641

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX