一文知晓浪潮云海OS在SPEC Cloud测试中的调优实践

(全球TMT2021年8月13日讯)日前,SPEC(Standard Performance Evaluation Corporation,即国际标准性能评测组织)公布了最新 Cloud IaaS 2018 Benchmark 测试成绩,在同规模测试场景下浪潮数据核心产品浪潮云海OS再次刷新世界纪录,性能得分全球第一,并在应用实例复制数、可扩展性和平均实例配置时间方面表现优异,均达到全球领先水平。

SPEC Cloud测试到底是啥?

SPEC CloudIaaS 2018 Benchmark是SPEC开发的评估基于大数据场景下的云基准标准测试(SPEC Cloud IaaS 2018是SPEC的第二个基准测试套件来衡量云计算的性能,以原始2016版本为基础,具有各种增强功能和新的主要指标),采用Yahoo的YCSB与HiBench的K-Means模拟实际的工作负载。

Benchmark基准测试模型
Benchmark基准测试模型

主要测试的是IaaS云平台性能,选用两类最重要的和最具代表性的负载:云平台上运行IO密集型和计算密集型负载,通过加压测试数据面性能、可扩展性以及控制面性能来得到测试结果,具体来说:

IO密集型负载测试:YCSB是Yahoo公司的一个用来对云服务进行基础测试的工具,SPEC CloudIaaS 2018通过创建NoSQL(Cassandra)实例实现YCSB架构。其测试项包括吞吐量、插入响应时间、读取响应时间、平均应用实例(Application Instance)配置时间。

计算密集型负载测试:K-Means算法是机器学习中常用的一种聚类算法。SPEC CloudIaaS 2018基准测试使用HiBench K-Means实现计算密集型测试,其测试项包括完成时间、每个应用实例运行的Hadoop迭代计数、平均应用实例配置时间。

应用实例基准测试模型
应用实例基准测试模型

此外,SPEC Cloud IaaS 2018具有完善技术测试框架,是云计算性能测试的基准,作为企业级客户云产品选型的重要参考标准,测试框架主要指标包含如下四个方面

应用实例复制数:复制的应用实例数表示在测试结束时已完成至少一个有效应用的实例总数。总复制数是K-Means与YCSB的应用实例总和,但二者任何一项的有效应用实例不能超过总数的60%。

性能得分:性能得分是所有有效应用实例的得分总和,代表了所有应用在云环境的总体表现。它是SPEC CloudIaaS 2018规范的YCSB和K-Means性能得分的总和,分数越高代表性能越好。

相对可扩展性:SPEC Cloud测试执行包括两个阶段——baseline基准数据收集和scale-out扩展性能数据收集。可扩展性是scale-out过程中每个应用实例能提供与baseline阶段的应用实例相同性能输出的百分比,结果越高代表可扩展性越好,当百分比大于等于80%,即认为是优秀。

平均实例配置时间:所有有效应用实例的平均配置时间。每个实例的配置时间都是从创建实例请求开始到cbtool驱动可以SSH到实例的时间间隔。

本次测试的数据指标有何惊艳之处?

Copy数”:众多周知,Copy数受制于测试时设计的汇报Copy数、Copy上限、失败率、YCSB与KMeans各占比例及服务器硬件的负载能力;初次提交时还可能出现受限于当时的磁盘性能以及调度策略的情况;甚至当Copy数增加时,测试时间内会出现部分AI无法达成测试标准进而转为失败。

对此浪潮云海优化了调度策略、虚拟机创建流程以及测试硬件,降低了失败率。目前,“39 Copies”的数据指标虽然已经达到汇报Copy数的基本要求并作为以下指标测试的基本前提来使用,但并不代表当前集群所能创建应用实例的上限。

“性能得分”:性能得分作为SPEC制定的标准分值,其值为基准测加权平均后算出的绝对值。我们了解到,虚拟机后端存储读写能力、内存大小、CPU及针对虚拟化的调优动作都会对性能得分产生影响,所以在保障性能衰减速率更低的条件下能够在服务器上虚拟更多虚拟机,这是厂商们的普遍目标。

对此浪潮云海通过分析业务场景,有针对性地对测试环境进行配置优化。结果显示,本次基准测试的性能得分比基准提高了40%,保障了单位密度虚拟机数量增加且服务器配置不变条件下性能的稳定性。

性能得分的数据对比
性能得分的数据对比

与其他厂商相较,浪潮云海OS产品同样出色。对比当前业界性能得分最佳的厂商,云平台综合性能提升35.8%,YCSB性能提高33.9%,KMeans性能提升37.4%

“平均实例的配置时间”:“平均实例配置时间”被定义为所有有效应用实例的平均配置时间,是实例部署请求提交到实例启动并被测试管控节点接管的时间间隔。浪潮云海最新提交的平均实例配置时间为41s,与某厂商最新测试结果相对比,在单台服务器虚拟机数等量的情况下平均实例配置时间提高5s,体现了对集群控制平面的深度优化效果,包括对虚拟机的请求发放、主机调度和启动时间在内的能力提升。

“相对可扩展性”:通常相对可扩展性受限于CPU核心数、内存剩余及磁盘。依据SPEC官方标准,80%以上均为优秀;在本次测试中浪潮云海OS产品的可扩展性得分为85.1%,达到优秀级别。

解密调优!浪潮云海OS在测试中有哪些升级实践?

为了达成性能再升级,提升虚拟机的创建速度及稳定性,浪潮云海选用了镜像加速的调优手段,即启动自研智能镜像缓存淘汰算法,智能管理本地缓存目录,在有限的本地缓存空间内尽可能提高镜像缓存命中率。

此外还通过支持配置项预设镜像缓存目录大小、弹性伸缩以及可根据镜像的使用频率自动调整本地存储空间等操作,节约了镜像下载到本地所消耗的时间,甚至可以达到80%以上。这波系列操作不但提升了应用虚拟机的创建速度与稳定性,还提高了镜像创建卷的速度,保障了用户在大规模业务场景下的工作效率。

镜像缓存算法实现原理
镜像缓存算法实现原理

“通过针对磁盘IO监控,我们发现在负载情况下虚拟机的磁盘IO性能有所降低。根据多次定位分析,了解虚拟机后端与宿主机系统盘处于相同存储情况下会导致IO性能降低,因此为了保证读写不受宿主机系统盘干扰,选择将虚拟机后端与宿主机系统盘分离部署。”

为了保证应用在云环境的整体表现,浪潮云海还对虚拟机规格(CPU、内存、硬盘)进行多次调整且关闭了KVM的内存共享。有效防止因抢占导致性能降低关闭了CPU预留和CPU绑定,进一步“预防”CPU不能被充分利用的情况,最终实现负载情况下虚拟机的CPU、内存、硬盘都能保持较高的利用率,提升了大规模场景下虚拟机性能的稳定性以及资源的利用率。

某一节点内存共享关闭示例
某一节点内存共享关闭示例

在SPEC测试过程中,浪潮云海选择通过增大Nova并发任务数上限并实现镜像缓存机制,降低了平均实例的配置时间。即增大Nova并发任务个数来减少虚拟机创建时的排队时间,凭借镜像缓存的技术手段解决同一个镜像在创建多台虚拟机的过程中频繁下载、删除、再下载镜像导致耗时严重的问题。

为了改善并发场景,还一并优化了haproxy线程数,包含优化连接池中最大SQL连接数、最大允许超出的连接数等关键信息。这在OpenStack云平台大规模落地实践中极具参考价值,能够有效提高创建虚拟的成功率,同时更好满足用户快速、批量创建虚拟机的迫切需求。

增加Nova-conductor的worker数,提高Nova处理能力示例
增加Nova-conductor的worker数,提高Nova处理能力示例
镜像缓存配置示例
镜像缓存配置示例

作为全球性能、扩展性等综合技术水平领先的云平台软件,浪潮数据为未来智算中心建设提供了全球领先水平的 “云操作系统”,未来定将围绕智算操作系统核心引擎的产品定位,持续打造云海OS硬核技术实力,推动企业数字化、智能化迅速转型。