当前位置:首页 > 网赚杂谈 > 正文

国内的云服务器(​主流云厂商云服务器)

随着2020年接近尾声,到了年底盘点的时候了。

今年的云计算市场特别热闹。科技抗疫让云计算从幕后走向前台,让人们近距离见证信息技术的强大威力;在“新基础设施”引发的信息化热潮下,云计算成为绝对的主要支撑力量;企业数字化转型迫在眉睫,“尚云”成为今年最热门的关键词之一。

说到“上云”,首先需要选择云服务提供商。但是市场上提供云服务的厂商很多,服务质量参差不齐。应该如何选择?目前国内主流的公有云厂商有阿里巴巴云、腾讯云、金山云、华为云、AWS等。从一些标准功能来看,每个云都差不多。这里我们选择云服务的核心产品——云服务器作为对比对象来了解一下。

该测试在尽可能相同的测试环境下提供客观公正的测试数据,从技术层面评估分析不同厂商云服务器的性能和性价比。本着公平的原则,我们尽量测试相同规格的同类机型和配置,分别选择AWS通用实例m5、阿里巴巴云通用g6、腾讯云标准s5、金山云标准s4、华为云通用计算s6。

接下来,我们将从价格和云服务器计算、存储和网络三个维度详细对比测试指标,分析它们在具体应用场景中的性能。

测评对象

AWS\阿里巴巴云\腾讯云\金山云\华为云

云服务器类型

每个厂商在北京都开了一个例子(AWS是韩国首尔),都是搭载英特尔的喀斯喀特湖CPU的机型。他们也选择8核32G机型,详细配置如下:

云服务器价格

由于企业更注重服务器的性价比,所以我们首先考察用户最关心的——的价格。下图是北京地区(AWS是首尔地区)各配置型号的月单价,所有云服务器都有记录,并与官网实时购买价格(打折前价格)进行对比。

调研结果:

价格方面,金山云s4有很大优势,是唯一一款月单价不到1800元的云服务器,其次是华为云s6,同样定价在2000元以下,阿里巴巴云g6和腾讯云s5定价略高于2000元,海外的AWS m5价格最高,达到2710.3元。

性能测试过程与结果

在初步了解不同厂商的服务器价格后,我们将对服务器的性能进行评估,包括云服务器的三个关键性能指标(计算、存储和网络),以及两个具体应用场景(MySQL和Redis)下的压力测试性能。

一、计算性能

CPU为云服务器提供计算能力。做任何业务计算都需要大量的CPU计算能力,比如实时视频编解码。在业务高峰期,CPU利用率往往达到90%以上。CPU测试使用SysBench工具的CPU压力测试功能,CPU每秒的事件越多,性能越好。首先检查安装环境,编译安装。测试命令如下:

sysbench CPU-CPU-max-prime=20000-threads=8-time=50次运行

参数说明:

-CPU-Max-Prime :生成的素数个数上限,这次,

我们设置为20000--threads: 线程数,设置为8,表示启动8个线程进行素数的计算--time: 运行时长,单位秒,设置为50,表示sysbench 在50秒内循环往复进行素数计算

内存是除CPU之外,决定计算性能的关键性因素,尤其是针对大量访问内存的场景,如关系型数据库等。内存性能最主要的两个指标为内存带宽和内存延迟,本次采用基准测试工具Stream测评Copy(复制)、Scale(乘法)、Add(加法)以及Triad(三者复合)四种操作下的表现。

说明:

以上测试中,充分考虑了内存容量的需求。测试过程中,使用到的内存容量要大于处理器内的缓存,只有这样才会有内存的操作,而不仅仅是对处理器内缓存的操作。单位操作内,访问内存次数越多,越能够掩盖访存延迟,带宽越大。单位操作内,操作越复杂,操作完成时间越长,导致整个操作循环完成的时间越长。因此Add和Triad理论上测试带宽应大于Copy及Scale。

内存延迟表示系统进入数据存取操作就绪状态前等待内存响应的时间。内存延时越小,对云服务器的性能影响越小。本次采用Intel MLC免费内存测试工具。

测试结果:

从CPU性能看,金山云s4与华为云s6在Add和Triad操作中内存带宽达到7000+MBps,相对于其他云服务器具有压倒性优势,能够更及时地与CPU交换数据。

内存方面,相同时间内,金山云s4与华为云s6计算次数最高,每秒计算次数都达到了3300次以上,其CPU性能优势明显。其他三家云服务器则在2600-2900次之间,表现欠佳。其中排名最高的金山云s4每秒计算次数高出平均值13.3%。

金山云s4内存延时最低,为82.2ns,腾讯云s5与华为云s6也在90ns之内,阿里云g6和AWS m5在内存延时都超过了90ns。

综合以上三项指标,金山云s4在计算性能上表现最为突出,其次华为云也较为优异。

二、存储性能

磁盘性能通常选用IOPS和IO时延两大指标来衡量。IOPS影响着单台云服务器能承载的业务量。业务场景可分为查询和写入两种,查询场景一般会使用很多缓存,而写入场景就需要数据及时落盘,要求提高数据的写入并发能力,需要很高的存储IOPS。存储读写延迟则影响着用户的体验,延迟越低用户下单的响应速度越快。

本次测试选择FIO测试工具,使用libaio引擎测试(4K数据块),随机写、随机读,测试生成的文件大小为200G,队列深度分别为1*1和7*32,观察磁盘每秒随机读写的操作次数以及平均时延。

测试结果:

由上述“随机读写IOPS”图中可见,在队列深度1*1时,阿里云g6读写最均衡、整体领先,华为云s6的读数据单项排名第一,其他三台云服务器表现相差不大;在队列深度7*32时,华为云s6表现出极大优势,读写IOPS均超过33000,阿里云g6和金山云s4处于第二梯队,腾讯云s5和AWS m5则表现次之。

平均时延方面,在队列深度1*1时,阿里云g6读写最均衡、整体时延最少,其他四台云服务器相差不大;在队列深度7*32时,华为云则要领先其他四台云服务器,金山云s4和阿里云g6次之。

三、网络性能

PPS是每秒传输的数据包数量,直播等网络要求较高的场景尤其关注PPS指标。单实例PPS越大,网络性能越强,往往意味着可支撑更大的业务量。云服务器PPS是内网性能的核心指标,影响内网环境下的服务交互。

本次采用Netperf测试工具查看基于TCP或UDP的网络传输性能。此次测试通过6台辅助机器同时向被测云服务器打流UDP小包(1 byte),统计云服务器每秒收到包的数量。通常情况下,平均PPS越大代表内网质量越好。

测试结果:

测试数据可看出腾讯云s5平均PPS排名第一,与金山云s4和阿里云g6同处第一梯队,每秒可处理超过80万个包,网络质量较好。

四、应用场景

数据库是云服务器的一个典型应用,其性能状态通常可以反映云服务器的CPU、内存和磁盘性能,能更较好地体现出云服务器的差异。此次测试选用最常见的两种数据库:MySQL和Redis。

数据库应用场景选用SysBench为测试工具,可评估不同系统参数下的数据库负载情况。我们使用SysBench模拟生成2000万条数据记录,同时开启500个线程写入一张库表。每秒请求数QPS与每秒事务数TPS数值越大,则表现越优异,测试总耗时与平均时延数值越小,则表现越优异。

Redis压测可以用自带的redis-benchmark工具,可以简单地模拟多个客户端同时发出若干请求。配置两台云服务器,分别作为客户端与服务端进行压测,获取ping、get、set和mset四种方式下的每秒查询数。

测试结果:

华为云s6各项指标都很领先,金山云s4也不错,阿里云g6在MySQL场景下表现较为突出,而腾讯云s5在Redis场景下表现出色,而AWS m5应用于Redis由于镜像版本原因,无法真实还原能力,因此此项测试AWS m5不具备参考价值。

测评总结

将上述每项测试中云服务器的表现排名汇总如下,分为四个部分:计算、存储、网络、应用场景。我们为每个部分不同的指标根据测试结果赋上相应的分数,其中第一名为100分,第二名为95分,第三名为90分以此类推(未获得准确结果的测试项分值为平均分,即92.5分);再为每个部分赋上权重比,云服务器的计算性能为最重要的指标,权重为40%,存储性能其次为25%,网络性能由于只有一个测试指标所以权重为15%,应用场景的权重为20%。总分由每个部分分数乘每个部分权重再求和得出,每个部分分数由每项指标的平均分数乘每项指标权重再求和得出。

计算(40%)

计算性能中,CPU与内存权重相同,各为50%,由此可得:

计算成绩=CPU分数×50%+内存平均分×50%

存储(25%)

存储性能中,IOPS与lat权重相同,各为50%,由此可得:

存储成绩=IOPS平均分×50%+lat平均分×50%

网络(15%)

网络方面只有一个指标,所以其本身成绩即为网络部分成绩

应用场景(20%)

应用场景中,MySQL和Redis权重相同,各为50%,由此可得:

应用场景成绩=MySQL平均分×50%+Redis平均分×50%

总成绩=计算成绩×40%+存储成绩×25%+网络成绩×15%+应用场景成绩×20%

综合汇总的数据可以看出,金山云s4和华为云s6这两款机型在性能测评中较为领先,分别位于第一和第二位。其中在体现计算能力的CPU和内存上,金山云s4表现不错,各项排名第一;华为云s6在存储性能上比较领先;网络性能上腾讯云s5表现不错;MySQL和Redis两大应用场景金山云s4与华为云s6互有胜负。

最后再让我们看看每个机型的性价比,用性能测评总评分数除以他们各自的价格得出:

虽然差距不大,但可以看出,金山云s4和华为云s6是性价比较高的机型。

总体而言,几家厂商的云服务器都各有优劣。金山云s4在此次测评中,各项测评结果都表现优异,数据比较亮眼,性价比也较高。用户在选型中,可参照以上测试结果及数据进行决策。

有话要说...