现阶段,服务器市场竞争非常激烈,头部科技公司和移动硬件厂商都在争夺这篇广阔的市场,其中一些云服务厂商已经基于自家云服务建立起完整的生态体系,云服务作为各种互联网服务的基础设施已经广泛的融入在我们的日常生活中。
我们熟知的,阿里巴巴数字经济体系、华为1+8+N全场景战略等等,这些企业重大战略方向所有的服务能力基础都是建立在服务器基础上的,只有这样,所有配套的互联网、智能交互、数据分发等各类服务才能得到支持。如今,绝大部分厂商均选择将自家的生态部署在云服务器上,这也体现出云服务器作为一项基础设施已经转变为一项服务,这就是我们说的IaaS——基础设施即服务。
当然,随着各种服务上云,传统小微型的服务器已经满足不了企业日常服务器能力需要,这时候高计算能力,多线程并行计算高的服务器产品,华为云C6s服务器和阿里云C6服务器就是专门面向这类企业提供高效计算的云服务器产品,这两款服务器产品适合大型多人在线游戏、数据分析、批量计算、视频编码、科学计算、工程应用等重载应用。接下来,通过测试对比看一下华为云C6s服务器和阿里云C6服务器谁更适合企业用户选择。
服务器基本参数
华为云通用计算增强型C6s服务器基于英特尔第二代至强可扩展处理器,vCPU数量最高可以选择64核;阿里云计算型C6服务器,vCPU数量最高可以选择104核。二者给出的CPU内存比都为1:2,这就为诸如大型游戏部署的高性能、多线程、高负载运行带来了可能。
测试过程中,我们均选用华为云和阿里云位于北京的服务器,测试配置均为32核/64GB具体配置如下:
除了两台主要的测试机,我们还在测试机的同一机房各选配了2台24核/48GB的同类型服务器作为陪练机。具体参数如下:
接下来我们来看一下华为云C6s和阿里云C6服务器的具体表现如何。
处理器性能
处理器理论性能表现上,我们使用Geekbench 4.3.3对华为云C6s服务器和阿里云C6服务器处理器性能进行跑分。经过连续的五次跑分,我们取单核整型、单核浮点型、多核整型、多核浮点型四个参数的平均值来对华为云C6s服务器和阿里云C6服务器的处理器性能进行跑分对比。跑分结果如下(均为五次跑分平均值):
从数据上看,华为云C6s整型计算能力相比于阿里云C6更好一些,而阿里云C6单核浮点型计算能力与华为云C6s基本持平。整体来看,二者在计算能力上基本上持平。
接下来,我们通过英特尔Memory Latency Checker工具对华为云C6s服务器和阿里云C6服务器同NUMA节点内存时延进行测试。
NUMA技术全称是非统一内存访问,可以使众多服务器像单一系统那样运转,同时保留小系统便于编程和管理的优点。现在的机器上都是有多个CPU和多个内存块的。以前我们都是将内存块看成是一大块内存,所有CPU到这个共享内存的访问消息是一样的。这就是之前普遍使用的SMP模型。但是随着处理器的增加,共享内存可能会导致内存访问冲突越来越厉害,且如果内存访问达到瓶颈的时候,性能就不能随之增加。NUMA(Non-Uniform Memory Access)就是这样的环境下引入的一个模型。比如一台机器是有2个处理器,有4个内存块。我们将1个处理器和两个内存块合起来,称为一个NUMA node,这样这个机器就会有两个NUMA node。在物理分布上,NUMA node的处理器和内存块的物理距离更小,因此访问也更快。NUMA node内数据访问时延越短,说明处理器和内存块之间数据交互也就更加迅速,处理器单位时间内所处理的数据也就更多,避免出现内存吃满,处理器吃不饱的局面。
待测的华为云C6s服务器和阿里云C6服务器NUMA Node只有一个,所以只能做同NUMA节点内存时延测试。
测试代码:mlc --latency_matrix -e -r
连续五次测试结果如下:
从测试结果来看,华为云C6s和阿里云C6在同NUMA节点内存时延测试表现基本相同,华为云C6s同NUMA节点内存时延测试结果为82.86纳秒,阿里云C6同NUMA节点内存时延测试结果为88.48纳秒,我们看到华为云C6s相比于阿里云C6在同NUMA节点内存时延上平均快6.4纳秒,虽然纳秒这个单位非常小,但是如果将时间轴放大到1秒,那么华为云C6s每秒可以进行12068万次同NUMA节点内存数据访问,而阿里云C6每秒可以进行11310万次。
从CPU性能和内存表现上来看,华为云C6s服务器与阿里云C6服务器的处理器表现不分伯仲,但是华为云C6s服务器在内存缓存延迟表现更加出色。在同NUMA节点内存延时表现上,华为C6s服务器相比于阿里云C6服务器更快,这也就意味着,在单位时间内,华为云C6s能处理更多的数据,处理器以及处理器与内存之间数据交换速度,显然华为云C6s更占优。接下来,我们再看一下华为云C6s和阿里云C6服务器在网络性能上的表现。
网络性能
一般而言,各家云服务厂商允许用户在同一机房申请多台服务器搭建各种服务,这种服务被称之为虚拟私有云,是用户可以在这些服务器之间自由配置IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。
当然,华为云C6s和阿里云C6服务器本身在性能上足够强悍,可以处理大量的数据,但内网的吞吐能力也决定多个服务器的联合协作能力,首先我们对华为云C6s和阿里云C6进行简单的网络实验测试。这里我们使用一台测试机和一台陪练机作为测试基础进行测试。首先进行ping时延测试,具体测试代码如下:
Ping host-ip -c 120
测试结果如下:
我们看到,华为云C6s服务器ping时延测试更短,也就是说,在同一内网下,华为云C6s服务器与服务器之间数据传递更为迅速。
qperf可以评价两个节点之间的带宽和延时,它可以测试tcp/ip协议和RDMA传输。不过相比netperf和iperf,支持RDMA是qperf工具的独有特性。在CentOS中安装qperf比较简单,直接使用yum工具就能直接安装。
通过qperf测试服务器的时延,服务器端直接运行qperf无需任何参数,默认就会开启19765端口。客户端运行获取带宽、延时情况,运行过程中不需要指定端口号,只要指定主机名或者IP地址即可。我们使用qperf对内网TCP时延和UDP时延进行测试。
测试机运行代码如下:qperf &
陪练机运行代码如下:qperf serverip -t 120 -m 64 -vvs tcp_lat udp_lat
测试结果如下:
从结果我们看到,无论是ping时延测试还是qperf时延测试,华为云C6s整体时延水平相比于阿里云C6更短,这就为大规模的内网服务器集群建设带来了可能。
除了服务器时延水平,内网带宽吞吐量也是衡量内网服务能力的重要参数,这里我们使用两台陪练机同时对测试机的32个端口进行打流。首先我们使用netperf测试TCP带宽接收能力的测试。
测试机运行口令如下:netperf -p port & (7001-7032端口为测试端口)
陪练机运行口令如下:netperf -H serverip -p port -t TCP_STREAM -l 120 -- -m 1440 & (serverip为测试机内网IP,port为对应测试接口)
然后我们通过sar口令查看打流数据的平均值,测试结果如下:
测试结果来看,华为云C6s内网带宽换算过来约为15Gbps,阿里云内网带宽换算过来约为10Gbps。这样来看,华为云C6s内网带宽上更具优势。
接下来,我们再来看内网PPS表现,这里我们使用的测试工具为iperf,依旧是两台陪练机同时对测试机32个端口进行打流。
测试机运行口令如下:iperf3 -s -p port >/dev/null 2>&1 & (5001-5032端口为测试端口)
陪练机运行口令如下:iperf3 -c serverip -b 0M -u -t 120 -l 16 -p 500(N) >/dev/null 2>&1 & (serverip为测试机内网IP,port为对应测试接口)
然后我们通过sar口令查看打流数据的平均值,测试结果如下:
通过测试我们看到,华为云C6s单向PPS接收约为450万PPS,阿里云C6单向PPS接收约为200万PPS。从内网时延、带宽以及PPS来看,华为云C6s同配置相比于阿里云C6服务器网络性能更加优秀,这样即便多台服务器组成服务器集群也能相互之间进行高效的数据传输。
存储性能
现阶段不同的云服务器厂商会提供不同的存储解决方案以应对各种使用场景,这种存储解决方案往往称之为云硬盘,它为ECS、BMS等计算服务提供持久性块存储的服务,通过数据冗余和缓存加速等多项技术,提供高可用性和持久性,以及稳定的低时延性能。您可以对云硬盘做格式化、创建文件系统等操作,并对数据做持久化存储。
华为云C6s和阿里云C6我们这里均使用的是SSD硬盘,两台测试服务器我们均挂在1000GB的SSD硬盘,并使用fio对其进行测试。测试结果如下:
在随机读写测试中,华为云C6s性能为3.3万IOPS,顺序读写测试中,华为云C6s吞吐量为367MB/s。而阿里云在随机读写性能的表现并不稳定,随机写性能为2.47万IOPS,随机读性能为2.52万IOPS,顺序读写吞吐量为315MB/s。
通过测试数据我们看到,华为云SSD性能相比于阿里云SSD性能更好一些,当然,比较新的机房设备表现也更加的稳定。
总结
总的来看,华为云C6s和阿里云C6整体表现来看,华为云C6s在各项性能上相比于阿里云C6有一定优势。从处理器角度上看,虽说华为云C6s和阿里云C6的性能表现基本持平,不过在内存延迟与处理器之间数据传输表现,我们看到华为云C6s同NUMA节点时延更低,单位时间内进行的运算更多。配合高速的大容量硬盘,利用硬盘-内存-缓存-处理器这个紧密结合的链条,源源不断的为处理器供给数据。
而在内网表现上,华为云C6s的优势更为明显,更低的网络时延、15Gbps更高内网带宽速度、450万PPS更大的网络吞吐量,这些都让华为云C6s可以更高效的进行服务器间数据交互,让大型大规模网络游戏服务器集群等高负载、多线程、大数据量计算的业务部署成为了可能。
规格方面,华为云C6s服务器有9种规格,阿里云C6服务器有8种规格,在同规格的服务器产品中,我们看到华为云C6s服务器的时价和月价更低,在性能出众的同时也兼顾了成本,这也为不少企业减轻了一定的运营成本。
另外,临近年终,华为云也在进行相关的促销活动,企业如果有部署这类大型网络游戏的需求,可以认真考虑一下华为云C6s服务器作为自己业务的基础设施。