RAID1比RAID0慢多少

RAID1比RAID0慢多少

事情背景

之前因为资源不够北京的某个服务后端存储用的SSD没有做RAID1,这次搬过去贵州存储换成了 SSD RAID1。数据的存入速度上感觉比之前慢一些,先看一下RAID0和RAID1的技术原理(RAID技术全解图解-RAID0、RAID1、RAID5、RAID100):

RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。

RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% 。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。

RAID1确实比RAID0慢,慢多少需要测一下,上机器,A和B机器型号相同(cpu、内存、RAID卡LSI MegaRAID SAS-3 3108),使用FIO工具实际测一下,参考CSDN:

【测试】 FIO:ceph/磁盘IO测试工具 fio(iodepth深度)

探索fio参数如何选择以及全方位对比HDD和SSD性能

实操上图

A机器上RAID1

RAID1

B机器上RAID0

A机器顺序读

B机器顺序读

A机器顺序写

B机器顺序写

A机器随机读

B机器随机读

A机器随机写

B机器随机写

# 随机读
fio -name=randread -direct=1 -iodepth=64 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/设备

# 随机写
fio -name=randwrite -direct=1 -iodepth=64 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/设备

# 顺序读
fio -name=read -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/设备

# 顺序写
fio -name=write -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/设备

FIO命令使用

来自极客时间Linux性能优化

总结对比

machineRAID顺序读随机读顺序写随机写
A1READ: bw=477MiB/sREAD: bw=422MiB/sWRITE: bw=368MiB/sWRITE: bw=151MiB/s
B0READ: bw=448MiB/sREAD: bw=434MB/sWRITE: bw=396MiB/sWRITE: bw=190MiB/s

顺序读上B比A慢点,其他的随机读、顺序写、随机写都比A强一些,但是没有特别大的差距。

留下回复

error: Content is protected !!