查看原文
其他

ODCC NVMe SSD RAID 性能测试技术报告 (附批注)

ODCC编写组、唐僧 企业存储技术
2024-12-09

本文参考资料来源 https://www.odcc.org.cn/download/p-1833741663162163202.html

尽管我在自己的注释(红色字体)中也提出了一些疑问,但请读者朋友们保持在单纯的技术立场上来看待。并像我一样感谢ODCC编写组成员的分享。

受限于个人水平,本文中如有任何不准确之处,欢迎大家批评指正,可以在最下面留言。

NVMe SSD Raid 性能测试技术报告

一、 引言

本测试规范旨在为 NVMe SSD Raid 环境下, 通过对不同的NVMe Raid 实现方式以及不同 Raid Level 的实践测试,对不同的NVMe Raid 性能影响因子进行分析找到性能优化方案以及选取合适的性能使用场景

本测试规范的范围涵盖了不同的NVMe Raid 实现方式:VROC;Tri-mode;旁路Raid;GRaid;SW Raid。以及不同平台,不同环境, 不同Raid Level 的性能优化

本测试规范旨在提供一套统一的测试方法和指导,以确保在不同NVMe Raid 实现方案以及不同的应用场景与平台上面实现性能结果的最优化。

本测试规范不涉及 NVMe 协议的设计和开发,也不涉及 NVMe Raid 实现的具体实现方法。它仅涉及对NVMe Raid 性能的调优以及测试方法。

二、 缩写和术语

缩略语

英文全称

中文全称

ACPI

AdvancedConfigurationandPower

ManagementInterface

高级配置与电源接口

AR

ActiveRange

(硬盘LBA)可操作范围

BIOS

BasicInputOutputSystem

基本输入输出系统

SMR

ShingledMagneticRecording

磁叠瓦技术

CPU

CentralProcessingUnit

中央处理器

DUT

Deviceunder  test,usuallyDisk

inthisdocument

被测设备(本文档经常表示硬盘设

备)

ECC

ErrorCheckingandCorrecting

错误检查与恢复

GPU

GraphicsProcessingUnit

图形处理器

GC

GarbageCollection

垃圾回收

HT

HyperThreading

超线程

IO

Input/Output

输入/输出

IP

InternetProtocol

支持产权核心

IPMI

IntelligentPlatformManagement

Interface

智能平台管理接口

MTBF

MeanTimeBetweenFailure

平均故障间隔时间

NVMe

Non-VolatileMemory  express

非易失性存储器标准

OP

Over-provisioning

预留空间

OS

OperatingSystem

操作系统

PPW

PerformancePerWatt

效能功耗比

PCIe


Peripheral Component

Interconnect Express

外设组件互连扩展总线

PSU

PowerSupplyUnit

电源供应器

QoS

QualityofService

服务质量

Redfish

Redfish

基于网络并利用RESTful接口实现

设备管理的管理标准

RDIMM

RegisterDIMM(DualIn-line

MemoryModule)

带寄存器的双线内存模块

RAID

RedundantArrayIndependentDisk

独立冗余磁盘阵列

SSD

SolidStateDrive

固态硬盘

SNMP

SimpleNetworkManagement

protocol

简单网络管理协议

SATA

SerialATA

串行ATA 总线

SS

RAIDVolumeStrip  Size

RAID  卷条带大小

SUT

Systemundertest

测试平台

TCO

TotalCostofOwnership

总拥有成本

TB

TurboBoost

英特尔睿频加速技术

USB

UniversalSerialBus

通用串行总线

VROC

IntelVirtualRAIDonCPU

基于因特尔CPU的企业级RAID解决

方案

VGA

VideoGraphicsArray

视频图形阵列

WCD/WCE

WriteCacheDisable/WriteCache

Enable

写缓存关闭/写缓存打开

WA

WriteAmplification

写放大


三、 定义

(一)WA

WA 即写放大系数,在 nand-based SSD 中,因为 nand 独特的擦写特性,会造成写放大现象,即实际用户写 入量会不等于 nand 写入量,而 nand 是有寿命的(PE Cycle)。

(二)QoS

QoS 即服务质量,指在规定的时间内,以稳定一致的性能完成所有请求的能力。在本规范中如果没有特殊 说明,QoS 量化指标是以 99%和 99.99%的可信度给出最大的响应时间。99%又可写为 2 9s, 同理 99.99%又 可写为 4 9s。

从应用角度来讲,Enterprise Disk 往往进行着全年全天候的运行, 因此产品短时间内的高性能不足以衡量一 个产品的性能质量, Enterprise Disk 通常要具备稳定高性能,特别是大压力下的稳定高性能的能力。连续的 高压力下的性能抖动现象称为“毛刺” ,譬如产生超长延时等。QoS 与 Performance Consistency 通常可以作 为性能 稳定性的衡量指标。

(三)Performance  Consistency

基于 nand 的 SSD ,其所有容量通常会分为用户空间和 OP,随着 host 对 SSD  写入大量随机数据,SSD  内部就会产生GC,GC 会占用内部带宽资源从而影响外部性能,这就是稳态性能与性能波动(一般 client 产品会比较 明显)的概念来源。用户空间和 OP 是相对的概念,一般 OP 指的是 SSD 预留的固定的空间大小,但事实上 只使用一部分用户空间,其另一部分不被使用的用户空间会同样具备OP 的功能。

性能一致性,一开始是用于探索固态硬盘( nand-based)空闲可用空间和性能之间关系的指标。这个指标 的目的是考察固态硬盘性能(特别是 IOPS)随时间发生的变化,如果一直保持很好的一致性, 则说明产品性 能稳定,可以带来更好的体验。

(四)Purge

Purge 指的是硬盘数据的擦除,SSD 在经过长时间的复杂负载写入后,会导致内部 Mapping Table 非常复杂,内部 GC 占用用户带宽。为了确保测试结果的一致性,不随着测试的进行导致硬盘性能逐渐降低,可以通过Purge 对盘进行底层数据擦除。

NVMe SSD 数据擦除指令如下:

# nvme format /dev/nvmeXn1

(五)Precondition

Precondition 是在硬盘正式进行性能测试前,对硬盘进行指定数据的填充。目的是保证 SSD 内部空间全部填满数据,并且帮助硬盘达到稳态性能。

128k 顺序读写的预处理

使用 128k顺序写,填写满盘 2遍。

4k 随机读写的预处理

使用 128k顺序写,填写满盘 2遍。随后 4k随机写全盘

容量的 2倍。

4k随机读写延迟的预处理

同 4k随机读写的预处理。


四、  NVMe  Raid  类型

(一)Software  RAID

NVMe 软件RAID 的概念与已经用于机械硬盘的概念非常相似,使用主机系统的CPU 来处理NVMe 指令并进行校验和计算。不同之处在于NVMe 通过PCIe 连接到存储设备,带宽更高,延迟更低,指令集设计更简单,因此通过CPU 直接处理RAID 效率更高。

以RAID-0 读取为例:当应用程序读取任何 4K 块时,它将生成一条读取 NVMe 的指令。软件 RAID 模块收到该指令后,只需要对指定的SSD 硬盘进行解释并生成新的NVMe 命令。然后 SSD 可以直接通过DMA 将数据发送到应用程序可以访问的缓冲区。

(二)Tri-mode  Hardware  RAID

当使用HDD 时,硬件 RAID 是一个很好的解决方案。所有 RAID 逻辑都是在一个单独的硬件控制器上完成的,它可以从主机CPU 中卸载计算。然而,正因为如此,所有的数据读写都必须经过 RAID 控制器。

目前市场上最常见的NVMe SSD 传输接口是PCIe Gen4 x4/Gen5 x4:如果使用更好规格的 SSD,通过 PCIe Gen4 x8/x16 连接到主机的RAID 控制器很容易成为性能瓶颈。此外,所有 ssd 都必须直接连接到硬件 RAID 控制器上,但由于控制器本身的PCIe 通道数量非常有限,这将直接限制控制器可以用来建立RAID 的ssd 数量,除非增加PCIe 交换机,这反过来又会对服务器系统的设计和成本产生相当大的影响。

(三)GRAID

GRAID SupremeRAID™通过将虚拟NVMe 控制器安装到操作系统上,并将 PCIe 设备集成到配备高性能AI 处理器的系统中,以处理虚拟NVMe 控制器的所有 RAID 操作。

扩展阅读《110 GB/s、1900万 IOPS:使用GPU的RAID卡及其背后

(四)旁路 RAID

旁路 Raid 是通过 NVMe SSD 作为 Raid 计算来说实现的 NVMe Raid,整体功能原理与GRaid 类似。

旁路Raid 为标准NVMe 主机接口,不需要额外驱动,支持 NVMe E2E 保护支持 0~128GB DDR5 及 0~64TB NAND flash 缓存。

RAID 类型

支持RAID 0,1,5,6,10,50,60 及 纠删码 EC(N+8)。

阵列大小

支持超过 24 个盘, EC RAID 支持多达 8 个parity 盘。

带宽

顺序读 336GB/s(24 盘),顺序写:28GB/s(双卡 56GB/s)。

IOPS

随机读 14M iops,随机写 2M iops(双卡 4M iops)。

可以支持压缩及写聚合功能(随机写转换为顺序写)对使用者友好,不需要更改背板即可支持高速 NVMe RAID 功能硬件RAID 卡结构,有掉电保护,与传统 RAID 卡使用习惯一致支持主从RAID 架构, 进一步提升写性能。

(五)VROC

Intel Virtual RAID on CPU (Intel VROC)是一种实现 NVMe SSD RAID 功能的解决方案。在 Intel VMD 硬件通路支持下 Intel VROC 提供可启动的RAID。

Intel VROC Configuration Guidelines

▪ Windows and Linux :RAID Level Support: 0, 1, 5, 10

▪ VMware ESXi: RAID1 for boot

• Data Volumes can span VMD Domains and CPUs

• Boot Volumes must be within a single VMD Domain (e.g. PCH VMD)

▪ Surprise hot-plug

▪ LED Management

▪ Max. 48 NVMe SSDs/platform 

• Up to 24 SSDs per RAID0/5 Array

• Up to 4 SSDs per RAID10 Array

•Up to 2 SSDs per RAID1 Array

五、  Raid  Level

RAID:RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。RAID 是一类多磁盘管理技术, 其向主机环境提供了成本适中、数据可靠性高的高性能存储。

Raid0:Stripe 或Striping(分条),即数据分条技术。RAID 0 可以把多块硬盘连成一个容量更大的硬盘群,从而提高磁盘的性能和吞吐量,要求至少两个磁盘。

Raid1:Mirror 或Mirroring(镜像)。RAID 1 把一个磁盘的数据镜像放在另一个磁盘上面,在不影响性能的情况下最大限度的保证系统的可靠性和可修复性。

Raid5/6:是RAID 0 和RAID 1 的折衷方案,但没有完全使用RAID 1 镜像概念,而是使用了”奇偶校验信息”来作为数据恢复的方式, 需要至少三个或更多的磁盘,Raid5 为多备 1,Raid6 为多备 2。

Raid10:镜像阵列条带。如RAID 0 一样,数据跨磁盘抽取,也如RAID 1 一样,每个磁盘都有一个镜像磁盘。因此 RAID 10 又称为RAID 0+1。


六、  Raid 理论性能模型

RAID 理论模型定义了RAID 系统的最大理论性能,模型不考虑硬件和软件的限制、损耗,但是在现实应用中,由于硬件和软件的限制,以及可能存在的特殊设计理念,其中一些数值可能无法在现实世界中实现,这种情况不在本模型考虑范围之内。

Table 4.1 RAID 理论性能表

a. N 为组建RAID Volume 使用硬盘数量

b. Disk BW: 单盘顺序读或写带宽

c. Disk IOPS: 单盘随机读或者写IOPS

d. Full Stripe Write, RAID5 最高性能: 满足负载 Block Size = (N-1) * Strip Size

e. Partial Stripe Write, RAID 5 最低性能

上述模型基于理想化的模型进行计算:

a. 顺序负载满足:不会进行IO 随机化处理;

b. 随机负载满足:

(1) Block Size <= RAID Strip Size;

(2) RAID Strip Size 是Block Size 的整数倍;

(3) 负载IO 起始LBA 以Block Size 对齐;

c. 在所有RAID Level 内能够保证盘发挥其应有的性能;

d. RAID Controller 不会影响RAID Volume 性能;

(一)RAID  0 理论计算

RAID 0 的数据简单的分布在所有RAID 下的硬盘上。因此,RAID 0 IOPS 无论顺序还是随机负载的通用计算公式为:

RAID IOPS = N x Disk IOPS

所有 RAID 下的成员盘并发执行 IO0,工作负载均匀分配到所有盘上。因此,不存在对性能产生负面影响的RAID 开销。

Figure 4-1 RAID 0 data layout

在上图(Figure 4-1)中,D1,1 D1,2 D1,3 D1,N 可以被同时读取/写入,因此N 笔写入可以被同完成。

(二)RAID  1 理论计算

RAID 1 是在多个磁盘上保存数据副本,但读 IO 会分布在所有成员盘上。因此:

a. 顺序和随机的写入公式为:RAID IOPS = 1 x Disk IOPS

b. 顺序和随机的读取公式为:RAID IOPS = N x Disk IOPS

Figure 4-2 RAID1 data layout

(三)RAID  5 理论计算

RAID5 的数据分布在所有成员盘上,每个条带都有一个奇偶校验数据存在。奇偶校验数据是其它用户数据的XOR 运算而来,并且均匀地分布在所有成员盘上。

Read IO

RAID 5 和RAID 0 性能模型类似:

RAID read IOPS = N X Disk read IOPS

以上图为例,D1,1 D1,2 D1,N-1 可被同时读取,P1 被忽略,但是相应的D2,N-1 可被读取,因此性能可以到达N 块盘。

所有硬盘同时执行 IO,奇偶校验不影响性能,因为奇偶校验数据被忽略。RAID 0 和RAID 5 之间的区别在于,对于 RAID 5 的顺序IO,尽管从 RAID 卷角度来看 IO 是连续的,但是从驱动器的角度来看,因为奇偶校验数据的存在,导致盘的IO 不再是顺序的,这种特征可能会影响到SSD 的预读取机制。

Read-Others and Read-Modify-Write

有两种方法对RAID 5 进行写操作,对于每一笔的写IO,RAID引擎需要选择其中的一个方法进行操作(一般选择最小消耗的方法)。

现在假设strip k 的Dk,1 数据需要被更新,那么为了计算新的数据校验数值,模型为:

为了计算一个新的数据校验值,条带内的所有有效数据都是必须的。如果条带内的任何一块数据正在更新,则新数据都已经存在于内存中。所有其他旧数据都需要从驱动器中读取,这会产生额外的读取请求,这是开销。这种奇偶校验计算算法称为 Read-Others

另外一种模型如下:

上述模型所得到的奇偶校验与Read-Others 的公式计算的结果相同,但公式中使用的数据不同。旧数据和旧奇偶校验被读取并与新数据进行异或处理。不需要触摸其他数据条。这种方法称为Read-Modify-Write。

Small, Random Write IO

为了对RAID 5 卷执行写操作,旧数据和奇偶校验都需要更新。这需要 read-others 或 Read-Modify-Write 操作,具体选择取决于哪一种顺序会导致更少的I/O 操作。通常,read-others 将只应用于 3 盘raid5。

唐僧_huangliang注:在HDD机械盘时代,由于单盘随机读/写性能基本一致(忽略缓存命中情况),所以4块及以上盘数的RAID 5,其理论随机写性能为N/4——即通常所说的4倍写惩罚;而3块盘的RAID 5随机写性能应与单盘相当。

而SSD由于读写性能不对等,所以用以上公式推算更合理。但闪存盘在这里可能还有一个因素没有讨论,那就是读写I/O之间的干扰。

Sequence IO, Partial Stripe Write

通常,顺序工作负载涉及相对较大的IO 请求(例如大小为128KB)。IO 请求通常大于 RAID 条带大小,这使得理论上的性能难以准确计 算(对于不是全条带写的情况)。

此外,由于 RAID 5 的数据布局(必须与数据一起更新奇偶校验数据)以及某些 RAID 引擎的多线程体系结构,从 RAID 成员驱动器的角度来看,IO 的顺序性质变得随机。这意味着对具有顺序工作负载的单个驱动器的测量不能再作为计算RAID 性能的参考测量。RAID 5 顺序写的性能也会因RAID 引擎实现的不同而不同。

顺序RAID 性能是基于驱动器随机性能计算的,因为从驱动器的角度来看,工作负载不再是顺序的(由于多次奇偶校验更新)。这些公式与用于Small, Random Write IO 的性能公式相同。

Sequence IO, Full Stripe Write 

全条带写需要满足下述条件:

 IO Size = (N-1) x Strip Size

在 Full Stripe 写的情况下,由于奇偶校验已在内存中预先计算, 因此不需要任何额外的读操作。然而存在与写奇偶校验有关的开销, RAID 5 中奇偶校验的总容量等于单个成员盘的容量,写带宽也下降1 个硬盘带宽。

RAID Sequential Write IOPS = (N - 1) X Disk IOPS

(四)RAID  10 理论计算

RAID 10 是一中嵌套的RAID,2 个或多个RAID1 组成RAID 0。

对于RAID 10 的随机或者顺序读IO: 

RAID read IOPS = N X Disk read IOPS 

对于随机或者顺序写IO:

RAID Write IOPS = N /2 X Disk read IOPS


七、NVMe Raid 性能测试环境(硬RAID卡用在海光上,余下Xeon)

(一)Product Name: ThinkSystem SR660-v2

Table 7-1 SR660-v2 配置表

CPU

Intel(R)Xeon(R)Gold6326CPU@2.90GHz

CPUmax/minMHz:2300/1500

内存

512GB

OS

CentOSLinuxrelease8.5.2111

硬盘

DapuStor-J5100-7.68TB


(二)Product Name: HYGON R6240H0

Table 7-2 R6240H0 配置表

MegaRAID

9560-16i8GB

CPU

Modelname:Hygon  C86739032-coreProcessor

CPUMHz:2910.761

内存

512GB

OS

CentOSLinuxrelease8.5.2111

硬盘

DapuStor-J5100-7.68TB


八、  NVMe  Raid 性能调优

(一)Demi-monde

1. 调节系统至性能模式

进入BIOS,按照下述方法调优:

a. Energy Efficient Turbo -> Disable

b. Monitor/Mwait -> enable

c. Enhanced Halt State (C1E) -> enable

d. CPU C6 report -> enable

e. Package C state limit -> c6 xx state

2. OS 下调优方法:

首先查看当前支持的模式

#cat/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

设置Power 策略

# cpupower -c all frequency-set -g <power policy>

设置性能模式:

# cpupower -c all frequency-set -g performance

3. 绑核操作

条件:如果系统内安装了多个 CPU Socket, 并且需绑定RAID 所处Socket,需要进行绑核操作:

# numactl --cpunodebind=<disk node> fio ....

4. 关闭超线程

# BIOS/BMC 下关闭超线程

5. Hygon 平台特定优化

针对Hygon 平台的随机读之前执行随机写随机读写JOB 需要低队列&线程#顺序写LOOPS2→顺序读写带宽→1800s 随机写为了稳态→随机写→随机读。

6. PCIe  MPS 调节

针对Hygon 平台建议增加PCIe Max Payload Size (MPS),来提高NVMe SSD 的性能,设置成MPS256

# grubby --args="pci=pcie_bus_perf" --update-kernel ALL

(二)GRAID

1. 调节系统至性能模式

进入BIOS,按照下述方法调优:

a. Energy Efficient Turbo -> Disable

b. Monitor/Mwait -> enable

c. Enhanced Halt State (C1E) -> enable

d. CPU C6 report -> enable

e. Package C state limit -> c6 xx state

2. OS 下调优方法

首先查看当前支持的模式

#cat/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

设置Power 策略

# cpupower -c all frequency-set -g <power policy>

设置性能模式:

# cpupower -c all frequency-set -g performance

3. 绑核操作

条件:如果系统内安装了多个 CPU Socket, 并且组建RAID 内所有硬盘处于同一个Socket,需要进行绑核操作:

# numactl --cpunodebind=<disk node> fio ....

Disk Node 可以用下面方法查询:

lspci -vvv -s <pcie_bus_address> | grep -i “node” 硬盘分布尽量均匀跨NUMA

4. 测试FIO 队列参数

不同的队列深度模型下测试,根据自己硬盘的SPEC 调整

FIO 参数增加 norandommap=1 randrepeat=0

5. PCIe  MPS 调节

Intel 建议增加 PCIe Max Payload Size (MPS),来提高 NVMe SSD

的性能,MPS 的增加会对性能有一些轻微的提升。

# grubby --args="pci=pcie_bus_perf" --update-kernel ALL

(三)VROC

1. 调节系统至性能模式

进入BIOS,按照下述方法调优:

a. Energy Efficient Turbo -> Disable

b. Monitor/Mwait -> enable

c. Enhanced Halt State (C1E) -> enable

d. CPU C6 report -> enable

e. Package C state limit -> c6 xx state

2. OS 下调优方法

首先查看当前支持的模式

#cat/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

设置Power 策略

# cpupower -c all frequency-set -g <power policy>

设置性能模式:

# cpupower -c all frequency-set -g performance

3. 绑核操作

条件:如果系统内安装了多个 CPU Socket, 并且组建RAID 内所有硬盘处于同一个Socket,需要进行绑核操作:

# numactl --cpunodebind=<disk node> fio ....

Disk Node 可以用下面方法查询:

lspci -vvv -s <pcie_bus_address> | grep -i “node”

4. 终止系统的IRQ 均衡

# systemctl stop irqbalance.service

5. 额外的RAID5 性能调优

在创建RAID5 之后,有一个策略可以提高 RAID5 性能,这个设置没有在RAID0,RAID1 和RAID10 内存在。

# echo 4 > /sys/block/md126/md/group_thread_cnt

6. PCIe  MPS 调节

Intel 建议增加 PCIe Max Payload Size (MPS),来提高 NVMe SSD

的性能,MPS 的增加会对性能有一些轻微的提升。

# grubby --args="pci=pcie_bus_perf" --update-kernel ALL


九、 性能分析


(一)Raid0 测试性能表现


唐僧_huangliang注:不难看出,横坐标是NVMe SSD盘的数量——只有GRAID和Tri-mode硬RAID卡做了4块盘的测试。前者基本达到2块盘RAID 0的2倍读写表现;而MegaRAID 9560卡由于PCIe 4.0 x8的插槽接口限制,理论读/写带宽无法超过16GB/s。

扩展阅读:《PCIe 4.0 SAS+NVMe RAID/HBA卡:最高读IOPS 300万、写24万

后来Broadcom又发布过一款9670W-16i RAID卡,主机插槽升级到PCIe 4.0 x16,性能也有不小提高。详情可参考Dell PERC12 (H965i):带风扇的RAID卡重现江湖

VROC和mdadm为什么没有测4块盘的RAID 0性能呢?理论上它们应该也可以像GRAID那样翻倍吧。

由于架构本身的限制,Broadcom传统硬件RAID卡的顺序写性能通常比读要低,即使在RAID 0下也可以理解吧。

4K随机读写性能图表的单位应该也是MB/s,这里的6514换算成IOPS就是1,667,584。我觉得这里有些测试值偏低,一方面是RAID 0随机写,排最高的GRAID 4块盘也才相当于337,920 IOPS(大家可以参考下网上查到的单盘水平)。

另一点不正常的,就是Tri-mode硬件RAID卡的4K随机读严重偏低——只有9万IOPS。我能想到的一种可能是:会不会9560 RAID卡在Hygon平台上存在一定兼容问题?

(二)Raid1 测试性能表现

唐僧_huangliang注:RAID 1部分我不想详细讨论,后文中有ODCC撰写的性能总结。这里只说一点,就是4块盘的RAID 1,虽然我不完全确定各种RAID技术是否都能支持,但其使用率和实用价值在哪里呢?

(三)Raid5 测试性能表现


唐僧_huangliang注:RAID 5测试部分还是比较有代表性和参考价值的——首先都是统一到4块SSD对比了。

前面我写过Tri-mode RAID卡顺序读无法超过16GB/s的原因;而RAID 5顺序写跑到4442MB/s我觉得还算可以了。相比之下,VROC和mdadm在这里比较吃亏——由于软RAID没有专用处理器和Cache写缓存,无法实现可靠的Full Stripe全条带写入,因此写惩罚较大。

VROC和mdadm的RAID 5 4K随机读IOPS,换算下来只有60万左右;写IOPS只有2万多,这些表现还有优化空间不?

Tri-Mode的IOPS问题我前面提过了,这里不再重复。

(四)Raid10 测试性能表现


十、 性能总结

(一)Tri-mode

 存在一定的上限,顺序读带宽在 14G 左右,顺序写带宽在 13G 左右,随机读写不作为主要研究对象

 同样盘位 RAID0/1 模型下测试 Tri-more 顺序读 1M/128K 处于同一水平,顺序写低于其他模型

(二)RAID0 模式下

 GRAID&VROC&Mdadm 处于同一水平线

(三)RAID1 模式下

 顺序写的带宽GRAID&Mdadm 优于VROC

 顺序读基本处于同一水平线

 随机读GRAID 性能远高于VROC&Mdadm

 随机写VROC 有优势

(四)RAID5 模式下

 顺序读GRAID&Mdadm 略高于VROC

 顺序写/随机读写GRAID 远高于VROC &Mdadm

 测试Tri-more 顺序写低于GRAID&Mdadm &VROC 1M/128K,顺序写 1M/128K 高于Mdadm&VROC

(五)RAID10 模式下

 Tri-mode 模式表现较差

 GRAID&Mdadm&Tri-mode 支持RAID6

 支持硬盘数量GRAID&Mdadm 优势于VROC

GRAID10 模式下顺序读写/随机写基本处于同一个水平线,随机读GRAID 远高于VROC &Mdadm。


扩展阅读:《企业存储技术》文章分类索引更新(微信公众号合集标签)


:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。进一步交流,可以加我的微信:490834312。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)


尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage

长按二维码可直接识别关注


历史文章汇总:http://www.toutiao.com/c/user/5821930387/

http://www.zhihu.com/column/huangliang

个人观点,仅供参考
修改于
继续滑动看下一个
企业存储技术
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存