应用软件运行速度提升16倍:Lightbits与Ceph的存储性能对比

时间:2022-04-29 16:55来源:Russ Fellows Mohammad J Rabin

摘要:云计算和基于容器的应用是推动当今IT领域产生重大变革的两大趋势。与其他技术和方法相比,二者都能够以更高的灵活性和更低的成本去运行和操作应用,因此日益受到欢迎。然而,在所有新的机遇面前,要实现潜在优势也都会有巨大的挑战。

概述

云计算和基于容器的应用是推动当今IT领域产生重大变革的两大趋势。与其他技术和方法相比,二者都能够以更高的灵活性和更低的成本去运行和操作应用,因此日益受到欢迎。然而,在所有新的机遇面前,要实现潜在优势也都会有巨大的挑战。
层出不穷的新技术通常会对业务运营产生渐进式的影响。但是,以云计算作为运行模式,结合管理云原生应用的Kubernetes——这一做法已经改变了信息技术的交付、管理和使用方式。
此外,为支持这些环境而设计的系统需要选择计算、网络,尤其是存储系统,这些系统具备高度可扩展的容量和性能,而无需采用传统管理方式。Kubernetes提供机制,帮助应用以透明的方式利用多种计算和存储资源。但是,要确保应用对持久数据的访问,需要底层存储基础架构具有弹性,同时还能满足成千上万个应用的容量和性能需求。
在此背景下,Evaluator Group获邀对适合云原生应用环境的两种存储系统展开对比。
● Ceph:云原生环境中常用的开源软件定义存储
● Lightbits云数据平台:专为云环境设计的软件定义存储
如下所示,在使用相同硬件和存储介质的情况下,Lightbits在所有工作负载测试中,实现的性能均远远优于Ceph。表1汇总显示了使用QLC介质的NVMe固态硬盘(SSD)的测试结果。该测试使用在OpenShift Kubernetes环境中作为容器运行的工作负载来进行。
试使用在OpenShift Kubernetes环境中作为容器运行的工作负载来进行。
表1:在容器环境中使用QLC介质时的Lightbits与Ceph I/O速率比较。(来源:Evaluator Group)
本文的其余部分将更深入地探讨二者的技术和性能差异,以及使用NVMe SSD与TLC介质时的性能数据。

新兴技术

如前所述,多个趋势正在推动IT领域发生重大变化;其中,利用公共云等服务的趋势正在改变IT运行的地点和付费方式,影响了应用程序的运行方式。云原生应用程序(CNA)的推行正在改变应用程序的开发和管理方式,这在一定程度上得益于企业向服务和云端迁移的趋势。此外,可通过Fabric去访问NVMe存储的新技术,以及新的非易失性存储技术的出现,使得那些能够利用这些功能的系统拥有显著的性能优势。

云原生应用程序

基于容器的应用程序设计旨在运行于云环境,包括本地云和公共云。云原生应用程序被设计为可独立扩展的服务,又称为微服务。借助微服务架构,CNA能够在少量或甚至无需管理介入的情况下,按需扩展应用程序的各个部分。
此外,CNA部署在一个位置后,可以根据可用资源甚至根据资源的价格而移动到其他位置。另外,许多此类应用程序所需的持久性存储也必须动态响应不断变化的容量和性能需求。

NVMe over Fabrics协议

非易失性存储主机控制器接口规范(NVMe)是一个支持固态硬盘(SSD)去使用高速PCIe总线进行通信的接口,以实现对固态设备的低时延访问。与SCSI或SATA设备相比,NVMe支持数十亿条命令,显著减少了延迟或时延。为了兼容与外部设备的通信,NVMe over Fabrics扩展了NVMe协议,支持通过Fabric去访问NVMe。
NVMe over Fabric访问的最新选择之一是使用TCP传输协议,即NVMe/TCP。实施这项协议的技术负担可显著减少,无需任何特定的硬件或交换机设置即可支持商用以太网。总体而言,与TCP上的其他存储协议相比,在仍然使用现有网络基础设施的情况下,NVMe over TCP具有更低的时延和更高的吞吐量。

持久性存储

持久性存储(PMem)兼具存储特性(特别是无需能耗即可保留或“持久保存”数据的能力),以及内存总线访问特性(例如极低的时延和字节寻址能力)。持久性存储有两种主要类型,分别是NVDIMM和英特尔傲腾持久性存储(Optane Persistent Memory)。NVDIMM和傲腾PMem之间的主要区别在于存储密度和成本,其中,与NVDIMM设备相比,英特尔傲腾PMem持久性存储在这两个方面都具有显著优势。
英特尔PMem既可用于“应用程序直接访问模式”,也可用于“内存模式”。前者需要修改应用程序,后者以低于DRAM的成本、透明地扩展系统内存容量。Lightbits在App Direct模式下使用PMem作为非易失性写入缓冲区,将写入和元数据访问直接定向至PMem,减少了备份介质的磨损,改善了系统写入性能。

解决方案概述

过去几十年里,使用商用硬件、以“软件或软件定义存储(SDS)”的形式运行的存储系统日益受到追捧。这种方法之所以引人入胜,是因为它能够在不可使用专用或专有硬件的环境中运行弹性的数据中心级存储。此外,其灵活性有利于在不同的环境和部署规模中使用相同的SDS堆栈。如前所述,我们的评估中就使用两种不同的SDS选项,为容器应用提供持久存储。随后将概述它们的功能。采用英特尔技术的Lightbits解决方案如图1所示。

图1:用于Lightbits软件定义存储的英特尔平台(来源:英特尔)

英特尔

英特尔为当今许多领先的服务器和存储解决方案提供基础平台组件。这些组件包括英特尔至强处理器、英特尔网络适配器和英特尔傲腾™技术等,其中,英特尔傲腾™可作为NVMe固态硬盘,或内存形式的傲腾持久性存储(PMem)设备提供。此外,具有应用设备队列(ADQ)的英特尔Ethernet 800系列提供了高性能、低时延的NVMe/TCP网络接口卡。

Lightbits云数据平台

Lightbits云数据平台是一种软件定义存储,旨在运用最新的技术,包括NAND闪存和英特尔傲腾持久性存储(PMem);它使用高速100GbE网络接口卡,支持NVMe over TCP。Lightbits使用分布式架构,能够按需独立扩展CPU、内存、PMem或NVMe设备。因此,Lightbits能够提供可扩展的企业级存储,性能优于本地NVMe设备。
Lightbits智能闪存管理解决方案Intelligent Flash Management ™(IFM)支持最大限度地提高SSD性能和延长其耐用性。其主要特性包括写条带化、无IOP元数据访问、智能垃圾收集、追加写策略和并行读/写通道。

通过将英特尔的高性能硬件平台与Lightbits方案进行耦合,可提供可扩展的解决方案,降低总体拥有成本(TCO)。Lightbits解决方案特别采用了以下技术:
● 英特尔®至强®处理器系统
o 高性能CPU、内存、I/O和PCIe Gen4
o 使用高性能CPU架构的高效存储软件
o 企业级SSD热插拔和LED支持NVMe介质
● 英特尔傲腾持久性存储(PMem)
o 低时延、非易失性写缓冲区和元数据存储
o 无需电池或电容器即可维持持久性
o 大容量持久性存储, 总拥有成本低于其他替代方案
● 英特尔 Ethernet  800系列网络适配器
o 提供应用设备队列(ADQ)
o 高性能应用设备队列
o 低时延NVMe/TCP,无需使用定制的驱动程序
通过Kubernetes容器存储接口(CSI),Kubernetes管理的容器可以作为持久卷(PV)访问Lightbits存储。Lightbits CSI插件使Kubernetes能够使用其“Elastic RAID”在Lightbits集群中存储持久卷(PV),该“Elastic RAID”提供纠删码保护,防止每个节点的数据丢失。其他Lightbits服务包括压缩、复制、卷快照、克隆和用于多租户环境中的基于角色的访问控制(RBAC)。

Ceph

Ceph是一款开源的软件定义存储产品,带有多个不同的接口,可作为块设备、文件系统和目标存储进行访问。设计Ceph时,采用旋转硬盘驱动器作为主要的存储介质,基于NAND的SSD在大多数主流存储系统中不发挥作用。
自Ceph设计以来的15年间,各种外形规格的固态闪存已成为高性能存储系统的主要介质。但Ceph初始设计中旨在提高旋转物理介质性能的许多元素仍得以保留。最近,更新后的Ceph已经可以使用固态的“BlueStore”和“RocksDB”进行元数据操作。迄今为止,Ceph还没有针对持久性存储进行优化,也不支持NVMe over fabrics或NVMe over TCP。
我们在测试中使用Ceph的开源版本,详见附录。

存储效率

与一些软件定义存储系统相比,Lightbits的弹性设计拥有更多优势。Lightbits针对每个节点使用纠删码保护,确保在丢失存储设备时的数据可用性;此外,节点之间可进行复制,因此,Lightbits能够在减少开销和存储容量浪费的同时,提供 更大的弹性。在测试期间,Lightbits的配置是:在每个节点上使用纠删码来保护数据,同时在Lightbits集群中的另一个节点上额外制作一份数据拷贝。
与此相反,Ceph的配置是:创建三个数据副本来进行数据保护,此时,如果一个节点的驱动器和另一个节点出现故障断电,则无法确保数据可用性。尽管这两种保护方法的存储效率相似,但Lightbits方法的可用性更高。

不同容器工作负载下的性能

Evaluator Group需对Kubernetes应用环境中作为容器运行的两种不同的存储产品进行分析。我们对Lightbits软件定义存储与面向容器的开源软件定义存储产品Ceph进行了比较。测试环境由12个Kubernetes节点组成,在专用的3节点Lightbits集群或3节点Ceph集群中运行容器工作负载。容器应用测试图表和其他细节、硬件、软件和其他方面的详细信息,请参见附录描述。
测量存储性能时,使用众所周知的“vdbench”工具创建工作负载,每个节点使用8个运行vdbench的容器实例,总共96个vdbench实例。
测试包括性能敏感型应用中常见的5种不同的访问模式和块大小:
● 4KB,100%读取,100%随机访问
● 4KB,100%写入,100%随机访问
● 8KB,80%读取/20%写入,80%随机访问
● 16KB,70%读取/30%写入,80%随机访问
● 32KB,50%读取/50%写入,80%随机访问
这些工作负载用于比较Lightbits与Ceph的性能,使用QLC固态介质作为主要存储介质,并根据每个存储系统使用适当的高速持久介质。在所有情况下,分别多次运行5个工作负载,获得可用于比较的平均结果。有关Lightbits和Ceph配置的具体细节,请参见附录。
 
Evaluator Group评论:测试结果显示,使用Lightbits具有巨大的性能优势,其中,4KB写入工作负载的性能是Ceph的16倍。考虑到在所有比较中,底层介质的数量和类型是相同的,这种优势尤为明显。



图2:Ceph与Lightbits吞吐量比较(来源:Evaluator Group)
 
图2显示了使用QLC介质时,Lightbits和Ceph在5种不同访问模式下的吞吐量结果。吞吐量结果是直接可比较的,因为它们考虑了数据块大小的差异,因此将其全部显示在一起。

性能详情

I/O速率(以每秒I/O传输次数或IOPs衡量)是小数据块工作负载的常用指标,但不利于对比不同的数据块大小。如下方图3所示,对典型应用大小——8KB、16KB和32 KB进行比较,绘制I/O速率,以每秒I/O传输次数衡量。在32KB时,Lightbits的优势是5.7倍,在16KB时,优势是10.4倍,在8K工作负载时,Lightbits的性能超过Ceph 12倍。


图3:使用QLC介质时Lightbits与Ceph的性能对比–不同数据块大小的吞吐量(来源:Evaluator Group)
 
上文显示的三种工作负载是数据库或其他事务应用程序中的常见负载。尽管许多数据库尝试执行16K或32K大小的I/O,但在许多情况下,如果更改较小或事务率较高,它们倾向于使用较小数据块。数据库将执行8K甚至4K事务,而非等待合并几个较小的I/O。
以下显示Ceph和Lightbits使用两种不同类型的存储介质,即QLC和TLC介质时,4KB读取操作的I/O速率比较。
免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
帖子推荐更多

Copyright 2008-2022 21dianyuan.com All Rights Reserved 备案许可证号为:津ICP备10002348