弹性云服务器(ECS)是云计算最基础的服务之一,其性能和稳定性直接决定云计算的用户体验。每当有重大的计算或网络硬件更新,云服务器就会升级换代,将性能推向新的高度。显然,尽快将新的硬件技术应用于云服务器,是云服务商的核心竞争力之一。
4月3日上午,英特尔在太平洋两岸近乎同步的发布了代号CascadeLake的第二代至强可扩展处理器。中午12点,基于CascadeLake的华为云全新一代通用计算增强型云服务器C6正式转为商用。此刻,北京的发布会尚未结束,距旧金山的发布会开始也还不到12小时。
在正式转为商用之前,C6和通用计算型云服务器S6都经历了长达四周的公测阶段。换言之,大约在3月初,这两款基于新一代至强可扩展处理器的实例便已基本就位了。
七年前推出的至强E5系列奠定了英特尔在云计算领域的统治地位,经过前后4代的发展,于2017年转为代号Skylake的第一代至强可扩展处理器,这样算来,到CascadeLake就是第6代了。
拥有定制版本的至强处理器是云计算服务商市场地位和规模的体现。在Skylake时代,华为云有两款定制处理器,分别用于C3/C3ne和S3,那么C6和S6自然对应两款华为定制版CascadeLake处理器。
CascadeLake可以视为Skylake的完善版本,大多数2代型号主要体现为100~300MHz的频率提升。不过,C3和C3ne实例的基频已经是国内一线云计算服务商同类产品中最高的了,频率上C6只需继承基频3.0GHz、睿频3.4GHz的配置就可以了,最直观的改进是内核数量的增加——vCPU上限从60增加到64,并吸收了C3ne在网络方面的增强,不愧是华为云的旗舰系列。
技术实现方案图
C6实例在网络方面的增强主要包括以下三大创新:
1.软硬结合,流表归一,快表转发
虚拟网络数据面转发首创集成流表方案,将业界传统流表用户态转发方式卸载到华为海思自研u-NIC芯片上,实现主机流量快表转发,全功能加速和卸载,最大内网带宽可达40G,网络包转发速率可到1000万PPS。
2.独创零拷贝技术方案,生态兼容
虚拟网络数据面转发首创软硬结合的virtio后端软直通技术,零拷贝技术方案保证40Gbps流量进入虚拟机,同时保证对虚拟机内原生virtio前端兼容,无需升级GuestOS驱动,避免业界标准SR-IOV方案的部署难题。
3.数据面无间断升级,高可靠和高可用
虚拟网络数据面转发各个模块(EVS/集成流表数据面/virtio-agent)设计解耦,支持failstatic特性,有效提高了健壮性和快速特性部署。
看起来,C6的计算和网络性能真是令人期待。
C6的舞台
在华为云C6实例公测期间,E企研究院在16款不同配置的C6实例中,选取了4款典型配置的C6实例进行了测试,以评估其在计算、存储以及网络方面的性能表现。以下为我们用于测试的C6实例配置:
E企研究院在华为云C6实例中选取了如下4种配置:
c6.xlarge.4(4vCPU与16GB内存)是最主流的商用类型,具有较高的性价比,适用于广泛的中小型应用;
c6.4xlarge.4为前一款的增强型配置,具有更多的vCPU数量与更高的内存容量,面向性能要求较高的中小型应用;
C6.8xlarge.4搭配32vCPU与128GB内存容量,适用于中大型应用,其高性能网络带宽使得其在集群部署方面更有优势;
顶配款c6.16xlarge.4的64vCPU和256GB内存创下了C系列的新高,还有最高40Gbps带宽和1000万PPS转发能力,以满足中大型应用提出的苛刻性能需求。
E企研究院用于测试的华为云C6实例类型
在C6实例中实际上并不包括存储的配置(数据存储,OS盘不算其中),但在实际部署中,存储作为三大核心基础设施之一,其与计算、网络一起从不同角度应用整体系统的性能发挥,因此在关于华为云C6实例的评估中,E企研究院也对华为云块存储——超高IO云硬盘——的性能进行测试。在c6.8xlarge.4实例上挂载了1块600GB容量的超高IO云硬盘,测试其随机读写性能(IOPS)与带宽吞吐量(MBPS,MB/s)。
根据E企研究院测试规划,上图中每种C6实例均配备3台,将其作为一组,4组不同类型C6实例共计12台。
按需增长的计算性能
虽然在实际应用中,CPU和内存这两者几乎紧密相连,并影响应用系统的整体计算性能。但作为计算机系统中拥有各自技术路线的两个独立组件,通过相关测试软件,却能衡量各自的性能水平。
在CPU运算性能方面,E企研究院使用GeekBench3软件来评估C6实例中的vCPU运算性能。GeekBench3是一款轻量级的CPU基准性能测试软件,能够衡量CPU单核与多核状态下的整数与浮点运算性能,其结果得分以IntelCorei5-2520M(2.50GHz,用于Mac电脑中)的2500分为基线,以此换算得来,得分越高意味着性能越高。下图为C6实例在不同配置下的整数运算与浮点运算性能得分:
华为云不同(vCPU与内存容量)配置C6实例计算性能得分,上述各项得分均为在相同条件下,5次重复测试获得得分后的平均得分
上图中蓝线与灰线分别表示单核的整数与浮点运算性能得分,在不同vCPU配置下,其单核(整数与浮点)性能得分保持平稳,意味着其性能表现稳定,且底层采用同一款CPU硬件;橙色与黄色柱状图则分别为多核下的整数与浮点运算得分,即不同vCPU配置下,所有vCPU都参与测试后获得的整数与浮点运算综合得分。
GeekBench网站公布的一款使用上一代IntelXeonGold6136(@3.0GHz,可睿频到3.7GHz)处理器的云主机vCPU测试结果。与E企研究院测试结果的单核得分相比,使用新一代CascadeLake定制处理器的华为云主机单核(整数)性能有超过15%的性能提升,单核性能高,核心更多,意味着多核性能将线性提高
从测试结果来看,即使是测试所使用的最低配置的c6.xlarge.4(4vCPU与16GB内存)实例,其整数与浮点运算得分都接近1.5万分,并随着vCPU数量的提升,其性能逐渐提升,在最大配置的c6.16xlarge.4(64vCPU与256GB内存)实例中,其整数运算得分接近12万分,浮点运算得分超过13万分,几乎是4vCPU配置的10倍左右。
在内存性能方面,华为云C6实例亦有不俗的表现。E企研究院使用Stream基准测试软件来评估C6实例的内存性能,Stream是业内公认的用于内存性能评估的基准测试软件,其包括Copy(复制)、Scale(乘法)、Add(加法)以及Triad(三者复合)四种不同操作情况下的内存带宽表现。E企研究院对华为云不同(vCPU与内存容量)配置的C6实例进行5次重复测试后,取其平均成绩,具体如下图所示:
上图中从左到右四种不同颜色依次表示c6.xlarge.4(4vCPU与16GB内存容量,即上图中的4c16G)、c6.4xlarge.4、c6.8xlarge.4与c6.16xlarge.4实例的内存带宽性能表现:随着C6实例内存容量的增大,其内存性能越高
结合CPU计算性能与内存带宽性能,可以看出,华为云C6实例具有较好的整体计算性能,随着C6实例配置的提高,其计算性能有着较明显的增长。
新一代高性能智能网络的性能新体验
实际上在去年华为云就发布了使用新一代高性能智能网卡的C3网络增强型实例(即C3ne),现在华为云基于定制版英特尔CascadeLake处理器的C6实例完全融合了ne系列网络增强能力,以匹配最新定制处理器带来的综合性能提升,扩大对企业应用场景的覆盖。
根据主流应用对网络性能的不同需求,E企研究院针对C6实例的网络性能测试主要分为两大类型:TCP和UDP使用场景。TCP主要用于建立长效的传输连接并保证数据的安全传输,比如基于http/https的web应用、ftp文件传输以及POP/SMTP的邮件应用等等,通常是一对一连接,更强调网络带宽实现的数据传输能力;UDP则是无状态传输协议,更强调数据传输的实时性,在网络质量不好的情况下运行丢包。最典型应用场景如在线视频播放、视频/音频会议、视频直播等等,UDP通常一对多,更关注收发包能力。
E企研究院首先对C6实例进行TCP带宽测试,选取相同配置的3台C6实例进行配置:其中一台作为Server端,其余2台作为Client端。2台Client向Server端同时并发压力(数据包长1440),然后在Server端统计TCP带宽。根据E企研究院测试结果,华为云不同配置C6实例的TCP带宽如下图所示:
上图红线为E企研究院针对不同配置C6实例的实测性能数据,橙色虚线为对应配置下的最高带宽。从测试结果可以看出,实测数据(红色实线)几乎已经达到了C6实例对应配置下的最高带宽
在UDPPPS转发性能测试中,使用与TCP带宽测试相同环境,即3台相同配置的C6实例,其中一台作为Server端,其余2台作为Client端,根据Server端的配置,每台Client发起对应数目的数据流并发压力测试(数据包长64),具体测试数据流设置如下表:
在华为云C6实例UDP网络性能测试中,E企研究院使用的下发压力模型
E企研究院针对4组不同类型C6实例进行测试后,统计其结果如下图所示:
E企研究院实测C6实例UDP收发包能力(橙色柱状图)与华为云官方公布的最大收发包能力(黄色折线)
E企研究院测试结果表明,相应配置的C6实例其UDP最大收发包能力基本与华为云官方公布的数据一致,顶配c6.16xlarge.4实例的最大收发包能力达到1000万PPS,即使是最主流的c6.xlarge.4实例也达到了80万PPS。
云硬盘性能:低队列获得高性能
华为云硬盘实际上早已有之,并不属于此次C6实例的发布内容。但基于C6实例部署应用,云硬盘又不可或缺,做为C6实例的操作系统盘(即OS)或者数据存储。为了更全面地评估C6实例在实际应用场景下的综合性能表现,E企研究院增加了对华为云硬盘的基准测试。
一般而言,评估(块)存储性能通常有两个较为关键的指标,即IOPS和吞吐量(即MB/s)。前者通常以4KB数据块的随机读写性能作为衡量标准;带宽则通常以64K、128K或者1MB数据块尺寸的顺序读写带宽作为存储带宽标准。云硬盘实际性能高低通常又与所购买的容量大小相关,并且在公有云存储方面,为了更好地保障稳定性,通常会有一个最大IOPS性能(类似SSD的单盘最大IOPS性能),和一个基准性能(或曰最小IOPS性能),以及对应的存储QoS策略。
以华为云超高IO盘为例,单个云硬盘IOPS性能=Min(“最大IOPS”,“基线IOPS+每GB云硬盘的IOPS×云硬盘容量”)。以E企研究院测试用600G容量作为说明,最大随机读写性能可达31500IOPS。如果将容量增加到或超过630GB,那么其最大随机读写性能则不超过33000IOPS。而在吞吐量方面则并没有那么复杂,只限制不超过350MB/s。下图为E企研究院针对600GB容量的超高IO盘的4K随机读写性能测试结果:
从上图可以看到,华为云超高IO盘基本都在较低的16队列深度时获得最大IOPS——接达到31500IOPS。而在低于16队列深度时,随着队列深度的增加,其随机读写性能几乎以倍数增加;在超过16队列深度后,其性能稳定在31500IOPS。这显示了华为云高超的性能优化水平以及严格的存储QoS控制能力。
上图为华为云超高IO盘的顺序读写带宽表现,橙色柱状图表示为1MB数据块的顺序读带宽——350MB/s,这已经与华为云官网所公布的最大存储带宽性能相吻合;蓝色折线表示1MB数据块的顺序写带宽,在队列深度为2时获得最大350MB/s,此后读写带宽均保持平稳。较低队列深度就获得最大存储性能意味着能够为应用提供更好的支撑,减少应用优化的复杂程度。