今年一月份,华为正式发布了鲲鹏920数据中心高性能处理器,该处理器兼容ARM架构,采用7纳米制造,最高支持64核,主频达到2.6GHz,支持八通道DDR4、PCIe 4.0、100G RoCE网络。

华为云基于鲲鹏920处理器的通用计算增强型KC1实例,作为市面上为数不多基于ARM架构的云服务器表现究竟如何,我们与阿里云的企业级通用型G5实例进行了全方位的对比。

一、处理器及内存性能

此次我们测试的云服务器产品分别是华为云鲲鹏通用计算增强型KC1实例以及阿里云企业级通用型G5实例各三台。所有服务器均为4核16GB内存、运行CentOS 7.4操作系统,且均位于北京。

其中华为云KC1实例采用的是华为自研的鲲鹏920处理器,主频2.6GHz;阿里云G5实例则是采用英特尔SkyLake架构的至强铂金牌8163处理器,主频2.5GHz。我们使用Unixbench对这两款服务器进行性能跑分,需要指出的是,由于两款服务器架构不同,因此相关执行指令会略有不同。

华为云KC1实例跑分前需要对Unixbench重新编译,如果直接编译会报错,以下三条指令是专门针对ARM架构的服务器:

 sed -i 's/-mtune=native//' Makefile
sed -i 's/-march=native//' Makefile
sed -i 's/$field eq "bogomips"/$field eq "bogomips" or $field eq "BogoMIPS" /g' Run

修改后就可以使用Unixbench对这两种服务器进行跑分。

CPU多核整型跑分指令:

./Run -c  dhry2reg

CPU多核浮点型跑分指令:

./Run -c  whetstone

这里,我们对华为云KC1实例和阿里云G5实例分别进行六次跑分,结果如下:

通过平均得分的对比我们发现,华为云KC1实例多核整型得分远高于阿里云的G5实例,多核浮点型得分两者不相上下。由此我们可以看到鲲鹏920处理器在性能表现上与x86架构处理器的差距不大,而且在整型计算上的优势更加明显,即可以更好应对基因测序、图像渲染、大数据等大规模高强度的数据处理任务。

再来看二者内存性能的表现。内存方面,不同厂家对内存选取也不同,出于节省成本的考虑,云服务器厂商往往很少公布内存的频率和型号,这里我们通过stream工具进行测试。

stream是业界广为流行的综合性内存带宽实际性能测量工具之一,支持Copy、Scale、Add、Triad四种操作。

Copy它先访问一个内存单元读出其中的值,再将值写入到另一个内存单元。Scale操作先从内存单元读出其中的值,作一个乘法运算,再将结果写入到另一个内存单元。Add操作先从内存单元读出两个值,做加法运算,再将结果写入到另一个内存单元。Triad的表示将Copy、Scale、Add三种操作组合起来进行测试。

对应的四种操作如下:

  • 复制(Copy) a(i) = b(i)
  • 尺度变换(Scale) a(i) = q*b(i)
  • 矢量求和(Add) a(i) = b(i) + c(i)
  • 复合矢量求和(Triad) a(i) = b(i) + q*c(i)

测试前,应该先解压编译stream文件,具体编译代码如下:

gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE= -DNTIMES= stream.c -o stream

这里的内存测试我们同样对测试服务器进行十次测试取平均值,具体测试数据如下:

*上述数据单位均为MB/s

通过平均值的对比我们看到,相同配置下,华为云KC1实例所使用的内存在性能上是优于阿里云G5实例的。这样快速的数据传输也为服务器的数据处理能力提供了更好的保障。

此外,内存时延也对整个服务器的数据处理能力有很大的影响。这里的内存时延指的是三级缓存的时延。

现阶段的处理器一般都有三级缓存,处理器在取数据的时候会优先从最靠近的缓存开始,取不到再去内存取数据。越靠近处理器,取数据的速度越快,通过LMBench等工具我们能精准的刻画这种读取的延时,也就是我们说的内存时延,不同缓存的时延呈现的是指数级增长,在对应的缓存中,时延是稳定的。

内存的时延都是以纳秒为单位,而我们实际业务的需求中往往都是以毫秒为单位,通过LMBench,我们获得了两款服务器的时延情况:

其中,华为云KC1内存时延平均值为100.9纳秒,标准差为0.74;阿里云G5内存时延平均值为125.1纳秒,标准差为1.20。通过这组数据我们看到,华为云KC1的内存时延水平更低,也更稳定。相比于阿里云G5,在时间上有近20%的压缩,能更好的为处理器提供稳定高速的数据处理能力。

我们看到,作为新品的华为云鲲鹏云服务器KC1在处理器内存的表现上甚至已经能超越同层次的X86服务器。相信对于X86阵营的云服务厂商来讲,现在是时候正视鲲鹏云服务器这个强大的对手了。

二、网络性能

一般而言,各家云服务厂商允许用户在同一机房申请多台服务器搭建各种服务,这种服务被称之为虚拟私有云,是用户可以在这些服务器之间自由配置IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。

这里我们首先使用netperf工具对这两家服务器运营商内网间TCP带宽性能进行测试。这里我们需要在各个主机中开启2台陪练机,测试机与2台陪练机均安装netperf,测试机做Server,陪练机做Client负责打流。

测试端口令如下:

netserver -p port &(、、、7004端口为测试端口)

客户端口令如下:

netperf -H serverip -p port -t TCP_STREAM -l  -- -m  & (serverip为测试机内网IP,port为对应测

然后通过sar命令查看打流的数据的平均值,测试结果如下:

测试结果来看,华为云KC1实例内网带宽在3950Mbps上下,阿里云G5实例内网带宽在1500Mbps上下。整体来看,华为云KC1内网带宽更具优势,适合数据量比较大的多台服务器组成的内网服务器集群。

当然,除了内网的带宽,时延也是一个重要的参数。延迟决定系统每秒处理的最大请求数,而带宽决定了可支撑的最大负荷。

qperf和iperf/netperf一样可以评测两个节点之间的带宽和延时。可以在测试tcp/ip协议和RDMA传输。不过相比netperf和iperf,支持RDMA是qperf工具的独有特性。在CentOS中安装qperf比较简单,直接使用yum工具就能直接安装。

通过qperf测试服务器的延时和带宽,需要两台服务器一台做服务端另一台做客户单打流。其中服务端直接运行qperf,无需任何参数。

服务器端直接运行qperf无需任何参数,默认就会开启19765端口。客户端运行获取带宽、延时情况,运行过程中不需要指定端口号,只要指定主机名或者IP地址即可。这里我们查看服务端与客户端的时延情况,并进行五次测试取平均值,测试结果如下:

我们看到华为云KC1实例内网时延平均为35.92微秒,而阿里云G5实例平均时延为41.70微秒,华为云的内网时延更短,这就让内网间数据交换更加迅速快捷,相比于阿里云G5服务器有近15%的提升。

在内网的带宽和时延上,我们看到华为云KC1相比于阿里云G5同配置更具优势,这就为大规模的内网服务器集群建设带来了可能。

三、存储表现与价格

现阶段不同的云服务器厂商会提供不同的存储解决方案以应对各种使用场景,这种存储解决方案往往称之为云硬盘,它为ECS、BMS等计算服务提供持久性块存储的服务,通过数据冗余和缓存加速等多项技术,提供高可用性和持久性,以及稳定的低时延性能。用户可以对云硬盘做格式化、创建文件系统等操作,并对数据做持久化存储。

现阶段云服务厂商基本上都会提供三种存储解决方案,分别是普通云盘、高速云盘、SSD云盘。这里我们通过挂载不同种类的云盘对测试机的存储能力进行测试。

我们这次针对两家厂商的超高IO云盘/SSD盘进行测试,测试所使用的工具为fio,测试项目包括随机读写IOPS和顺序读写吞吐量,测试磁盘大小均为1000GB。

在4K随机读写测试中,华为云超高IO云盘达到33000 IOPS,顺序读写吞吐量均达到了350MB/s。相比于阿里云的云盘速度上高出不少。

从SSD云盘对比上来看华为云更具领先优势,阿里云SSD云盘性能尚可。前段时间华为云发布了云存储All-Flash战略,我们也期待华为云能在存储上的持续突破。

价格方面,阿里云G5服务器4核16GB当前报价为每年4732.8元,除了4核16GB配置,还有最高64核可选。而华为云KC1服务器目前处于公测阶段,最高支持60核,测试期间用户可以免费申请使用。

总结

现阶段多数云服务厂商均以X86架构的服务器为主,客户对ARM架构的服务器大多持观望态度。但通过本次测评我们发现,鲲鹏云服务器在计算、网络、存储等多个方面已经成熟,且会在如大数据、基因测序等整型计算场景下较x86更具优势,相信鲲鹏新算力的加入,可以为多样应用提供全新的算力选择。

此前,笔者与同行交流探讨过一个问题,在服务器市场上,英特尔应该惧怕AMD吗?显然无论是英特尔也好,AMD也罢,他们都是X86阵营的服务器制造商,而能威胁到X86架构服务器的,恰恰是来自体系之外——ARM。Redis创始人Salvatore Sanfilippo此前也表示,他正在将ARM作为Redis的主要架构。而微软也为Windows 10应用开发针对ARM的支持,总之,ARM的前景未来可期。

当然,ARM服务器成为云端主流还有很长一段路要走,而基于鲲鹏处理器的华为云鲲鹏全系列云服务,向产业释放鲲鹏新算力的同时,也让我们看到华为在这一领域坚定的决心。

内容授权转载自IT HOME,原文链接:https://m.ithome.com/html/444828.htm

本文内容为第三方媒体评测结果,不代表华为云官方评测,结果仅供参考。

HDC.Cloud 华为开发者大会2020 即将于2020年2月11日-12日在深圳举办,是一线开发者学习实践鲲鹏通用计算、昇腾AI计算、数据库、区块链、云原生、5G等ICT开放能力的最佳舞台。

欢迎报名参会

不服跑个分:ARM鲲鹏云服务器实战评测——华为云鲲鹏KC1实例 vs. 阿里云G5实例【华为云技术分享】的更多相关文章

  1. [转帖]华为鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例

    鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例 https://m.ithome.com/html/444828.htm 2019-09-12 15:25IT之家 (阿迷) 今年一月份 ...

  2. 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器

    阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps ...

  3. JavaScript的基准测试-不服跑个分?

    原文:Bulletproof JavaScript benchmarks 做JavaScript的基准测试并没有想的那么简单.即使不考虑浏览器差异所带来的影响,也有很多难点-或者说陷阱需要面对. 这是 ...

  4. 阿里云服务器实战(一) : 在Linux下Tomcat7下使用连接池

    云服务器 的环境如下: Tomcat7+MySql5.6 一,如果自定义了程序的文件目录 , 下面的/alidata/xxx 就是自定义的目录 在Linux的Tomcat的server.xml里的Ho ...

  5. 阿里云服务器实战(二): Linux MySql5.6数据库乱码问题

    在阿里云上了买了一个云服务器, 部署了一个程序,发现插入数据库后乱码了,都成了'????'.  一开始怀疑是Tomcat7的原因 , 见文章 : http://blog.csdn.net/johnny ...

  6. 阿里云服务器centos7,docker部署mysql+Redis+vue+springboot+Nginx+fastdfs,亲测可用

    一.购买云服务器 我是今年双十一期间在阿里云购买的服务器, 简单配置2核_4G_40G_3M,三年用了不到800块,不过当时我记得腾讯云更便宜,个人感觉,阿里的云服务器更加的稳定, 毕竟身经百战, 经 ...

  7. 中小企业上云首选,华为云全新云服务器S6性能评测分析

    转: 中小企业上云首选,华为云全新云服务器S6性能评测分析 [小宅按]今天,华为云全新弹性云服务器ECS通用计算型云服务器S6(以下简称为"华为云S6云服务器")正式发布,至顶网云 ...

  8. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  9. 阿里云服务器怎么去掉tomcat的8080端口

    前言:最近在阿里云申请了一个云服务器,然后已买了一个域名.比如www.haha.com ; 在云服务器上安装了tomcat ,访问服务器就成了 http://www.haha.com:8080/ . ...

随机推荐

  1. 和manacher有关的乱写

    当初学kmp hash的时候被教导manacher非常的鸡肋 今天因为一篇神奇的题解我忍不住颓废了两节课把它学了 思路,代码都比较好懂 虽然它不如各种自动机霸气,唯一的功能貌似就是$O(n)$求出所有 ...

  2. 问题 C: 「Usaco2010 Dec」奶牛健美操O(∩_∩)O

    题目描述 Farmer John为了保持奶牛们的健康,让可怜的奶牛们不停在牧场之间的小路上奔跑.这些奶牛的路径集合可以被表示成一个点集和一些连接 两个顶点的双向路,使得每对点之间恰好有一条简单路径.  ...

  3. 19.7.29 NOIP模拟10

    话说这次三道考试题直接可以连成一个段子:我一个辣鸡,连模板都不会打,只能跪倒在大佬面前; T1 辣鸡 但是我实在是太辣鸡了,最后干的T1,时间不够用,连暴力都没打对,无奈之下交了一个qj程序,60分( ...

  4. [转载]1.4 UiPath参数的介绍和使用

    一.参数介绍 用于将数据从一个项目传递到另一个项目.在全局意义上,它们类似于变量,因为它们动态地存储数据并传递给它.变量在活动之间传递数据,而参数在自动化之间传递数据.因此,它们使你能够一次又一次地重 ...

  5. Jquery才可以使用 this 指定当前DOM

    Jquery才可以使用 this 指定当前DOM jquery获取并设置它的元素 <div class="shop-item" style="line-height ...

  6. webStorm中NodeJs 没有智能提示

    webStorm中NodeJs 没有智能提示 node.js and NPM --> Coding assistance for Node.js

  7. npm报错:无法加载文件 D:\nodejs\node_global\webpack.ps1,因为在此系统上禁止运行脚本

    npm报错 在 windows终端输入 vue init webpack app, 创建一个名为 app 的 Vue 项目时报错如下: 无法加载文件 D:\nodejs\node_global\web ...

  8. java操作RabbitMQ添加队列、消费队列和三个交换机

    假设已经在服务器上安装完RabbitMQ.我写的教程 一.发送消息到队列(生产者) 新建一个maven项目,在pom.xml文件加入以下依赖 <dependencies> <depe ...

  9. Single-Shot Object Detection with Enriched Semantics

    整合一下能够查到的资料,然后结合自己的理解,算是对这篇文章的一个小小的总结吧.这是CVPR2018的一篇关于小目标检测的文章,出发点是作者认为小目标的检测信息随着层数的增加而不断地丢失了,所以想利用语 ...

  10. 数据库求闭包,求最小函数依赖集,求候选码,判断模式分解是否为无损连接,3NF,BCNF

    1.说白话一点:闭包就是由一个属性直接或间接推导出的所有属性的集合. 例(1):   设有关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C} ...