500 小时性能测试,揭秘全闪块存储协议的性能差异
存储协议的选择至关重要,尤其在追求极致性能的全闪存时代,底层存储协议不再只是连接桥梁,而是决定系统整体效能的核心。它既可以是性能腾飞的强大助推器,也可能成为限制效率的瓶颈。正确的选择能够让生产力加倍;而错误的选择会导致应用性能低于预期,投资回报大打折扣。
本文基于星飞全闪块存储的实测数据,深入剖析主流存储协议的性能表现,为您在实际场景中的协议选型提供有力参考,帮您做出最优化的决策。
内容预告:本文将涵盖物理机客户端和虚拟化客户端的性能对比、协议选择策略、兼容性分析、多路径技术解读、性能调优方法及虚拟化性能深入剖析等内容。
解答的问题:
对于高性能应用(数据库、中间件),在物理机、KVM 虚拟化 / 私有云、VMware 虚拟化场景下,哪种存储协议与分布式全闪块存储对接效果最佳?
KVM 私有云的云硬盘性能能否超越公有云高性能云盘?
实验?。夯肪撑渲盟得?/span>
本次测试使用 3 台全闪服务器搭建星飞全闪分布式存储集群,存储池使用的数据冗余策略是 EC 4+2:1。另外使用 3 台物理机服务器作为测试压力机。
测试硬件配置
测试拓扑
接下来,将对各个场景下的存储协议性能展开全面比拼。
物理服务器场景测试
NVMe-RoCE 碾压式领先
直接使用 3 台物理服务器作为客户端,模拟裸机数据库场景和裸机容器平台场景。在物理服务器上安装 Rocky Linux 8.6 操作系统(Kernel 5.14.0),对 NVMe-RoCE、NVMe-TCP、iSCSI 这三种存储协议进行性能测试。
测试方案设计
测试结果
我们可以从下面的测试结果看到,NVMe-RoCE 在 IOPS、时延、吞吐带宽上的性能遥遥领先。
IOPS 性能:在单物理机单卷场景下,IOPS 性能排序是 NVMe-RoCE > NVMe-TCP > iSCSI。
吞吐带宽性能:在单物理机单卷场景下,吞吐带宽性能排序是 NVMe-RoCE > NVMe-TCP > iSCSI。
从下面 4 张图可以看出,在单物理机单卷场景下,时延排序是 NVMe-RoCE > NVMe-TCP > iSCSI。
除了单物理机单卷外,我们还测试了 3 台物理机多卷下的性能。
从下面 4 张图可以看出,在 3 台物理机多卷场景下,时延排序是 NVMe-RoCE > NVMe-TCP > iSCSI。
根据以上结果,我们可以看到在物理服务器场景下,存储协议的性能排序是:NVMe-RoCE > NVMe-TCP > iSCSI。
虚拟化/私有云场景测试
vHost 才能释放全闪性能
我们使用 3 台物理服务器分别安装 XSKY XHERE 超融合计算节点、OpenStack 计算节点、VMware ESXi 虚拟化节点,分别测试不同虚拟化/私有云产品使用不同存储协议下的存储性能。
所使用的虚拟机配置是 16C32G,虚拟机 OS 是 Fedora 33,测试工具是 fio-3.19。
测试方案设计
注:ZStack 和云宏同时支持 vHost、NVMe-RoCE、iSCSI。
测试结果
接下来,我们可以从下面的测试结果看到,使用 vHost 用户态直通存储才能完全释放全闪性能。
在 1P1V 场景下,IOPS 性能排序是 vHost > NVMe-RoCE > NVMe-TCP > iSCSI。后面章节会介绍为什么差距那么大。
在 1P1V 场景下,吞吐带宽性能排序是 vHost > NVMe-RoCE > NVMe-TCP > iSCSI。
从下面 4 张图可以看出,在 1P1V 场景下,时延排序是 vHost > NVMe-RoCE > NVMe-TCP > iSCSI。
除了 1P1V 外,我们还测试了 VMware vSphere 的 1P9V 的性能,IOPS 性能排序是 NVMe-RoCE > NVMe-TCP > iSCSI。
根据以上结果,我们可以看到在虚拟化/私有云场景下,存储协议的性能排序是: vHost > NVMe-RoCE > NVMe-TCP > iSCSI。
国产的虚拟化/私有云产品都是基于 KVM 技术,其中支持 vHost 用户态直通存储的产品有 ZStack、云宏、XSKY XHERE 等。假如使用的是 VMware,则使用 NVMe-RoCE 的性能最优。
存储协议性能对比:一张图展示
我们可以通过一张图来完全掌握不同存储协议的性能差异。从图中可以清晰地看出,不同协议在不同环境下的性能表现各有优劣,为用户在协议选型时提供了直观的参考依据。
场景驱动:如何为高性能数据/中间件
应用选择最佳协议?
物理服务器 + 高性能数据库/中间件应用
假如您需要在物理服务器上容器化部署 MySQL 数据库集群,那么星飞全闪分布式存储+NVMe-RoCE 是最佳选择。其具备最低时延和最高 IOPS 的优势,能为数据库和中间件提供快速的数据读写服务,极大地提升应用性能。
私有云 + 高性能数据库/中间件应用
假如您需要给集团建设大规模私有云,要能够承载高性能数据库和中间件应用,并且性能要超过中高端集中式全闪阵列,那么星飞全闪分布式存储+vHost 是最佳选择。
公有云下云的高性能云盘替换
假如您需要降本增效,需要从公有云下云且自建私有云,那么星飞全闪分布式存储+vHost 可以替换公有云高性能云盘(比如阿里云 ESSD 云盘)。vHost 可提供卓越的性能体验,超越公有云高性能云盘的性能表现。
传统环境的集中式全闪替换
假如您希望在现有的 VMware 环境中替换掉集中式全闪阵列,那么使用星飞全闪分布式存储+iSCSI 可以支持旧的 VMware 计算节点,使用星飞全闪分布式存储+NVMe-RoCE 可以支持新采购的 VMware 计算节点。
兼容性与多路径
您需要知道的技术细节
多路径方案解析
Native NVMe Multipath:这是原生用于支持 NVMe-RoCE、NVMe-TCP 的多路径方案,性能更好。它能够充分利用 NVMe 协议的优势,实现高效的数据传输和路径管理。然而,该方案对操作系统版本有一定要求,仅 RHEL 8.0 及之后的版本、Oracle Linux 7.9 版本(默认 kernel 版本是 5.4.17)支持 Native NVMe Multipath 。在满足系统版本要求的情况下,使用 Native NVMe Multipath 能显著提升 NVMe-RoCE 和 NVMe-TCP 的性能,尤其在多路径并发访问时,能有效提高存储系统的可靠性和吞吐量。
Device Mapper Multipath (DM-Multipath):作为传统的通用多路径方案,DM-Multipath 功能丰富,广泛应用于 SCSI(FC、iSCSI)存储协议。它能够为存储设备提供多路径连接,增强数据传输的可靠性和容错能力。虽然 DM-Multipath 也支持 NVMe-RoCE,但由于其设计初衷并非针对 NVMe 协议优化,在使用过程中会带来较大的性能损耗。在一些对性能要求相对较低,更注重兼容性和稳定性的场景中,DM-Multipath 依然是一种可靠的选择。
不同协议的环境要求汇总
若使用 NVMe-RoCE 和 NVMe-TCP,建议优先选择 Native NVMe Multipath 多路径软件,以获取最佳性能。
性能提升
NVMe-RoCE 和 iSCSI 调优秘籍
NVMe-RoCE 调优
RoCE/RDMA 流控配置:通过精细配置 RoCE/RDMA 流控技术,能够充分挖掘 RoCE 网络的极限性能,让全闪硬件性能利用率接近 100%,在 ECN(显式拥塞通知)和 PFC(优先级流量控制)方面进行优化配置,可以让小块随机 IO 都能打满 25Gb/100Gb 网络。
多路径配置策略:使用原生多路径,并将 iopolicy 设置为 round-robin 策略。该策略能够实现多路径之间的负载均衡,充分利用多个路径的带宽资源,提高数据传输的并行性,从而提升整体性能。
iSCSI 调优
参数设置:需要对 iscsid 的配置参数进行优化,设置 cmds_max = 1024,queue_depth = 256,同时设置块设备的 nr_requests = 1024,scheduler 调度策略为 none。这些参数的调整能够优化 iSCSI 的请求处理机制,提高数据传输效率。
路径数量优化:增加 iSCSI 卷的路径数量可以有效提高单卷性能。
性能剖析
为何KVM+Virtio+NVMe-RoCE损耗大?
传统的 KVM + Virtio + LVM + 共享块存储方式存在明显的性能瓶颈。其整体 I/O 路径冗长,在数据传输过程中需要进行多次内核态和用户态切换,并且涉及多次内存拷贝。这些操作不仅增加了系统的开销,还导致 IO 时延大幅增加,同时消耗大量的 CPU 资源。在这种方式下,虚拟机单卷 IOPS 性能仅为 25 万,严重限制了存储性能的发挥。
而 vHost 用户态直通存储方案则有效解决了这些问题。它通过减少虚拟机 IO 操作时 KVM 内核态和用户态的切换次数,降低了 CPU 的消耗。同时,去掉了 VMFS 层,将 VMFS 层中的快照克隆功能下放给底层存储实现,极大地缩短了 I/O 路径,降低了时延。使用 vHost 的虚拟机单卷 IOPS 性能可达到 310 万,充分释放了全闪存储的性能潜力,为虚拟化环境下的高性能存储提供了有力保障。
总结与展望
在物理服务器场景下,存储协议的性能排序是:NVMe-RoCE > NVMe-TCP > iSCSI 。
在虚拟化/私有云场景下,存储协议的性能排序是:vHost > NVMe-RoCE > NVMe-TCP > iSCSI 。
星飞全闪块存储提供多种协议支持,满足不同场景需求,并具备优异的性能表现。
如果您希望了解高性能数据库 / 中间件应用在星飞全闪上的具体性能,或者想获取星飞全闪跟集中式全闪阵列、公有云云硬盘的性能对比,欢迎来电咨询 400-016-6101,我们将安排专业的团队为您提供定制化方案。