目前市面上有很多各种各样的云服务器产品,包括我们熟知的阿里云、腾讯云、百度云、华为云、Google Cloud、微软Azure、亚马逊AWS等等云服务器厂商,除了一些大厂,小厂的云服务器质量参差不齐,这也导致很多做非专业人员在选择云服务器进行相关业务时遇到各种问题。
一旦上云,欲罢不能。云服务器因为不需要运维人员去机房维护,也不需要企业或者个人去拉网线、搭机房、交电费等等问题,云服务器提供商往往会提供一整套完整的解决方案,帮助用户快速实现业务部署。
另外,弹性云服务器也是各家服务器厂商推出的一种主流的云服务器解决方案,它是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境。
下面我们通过对国内常见的三家云服务厂商阿里云、腾讯云以及华为云的类似弹性云服务器产品进行对比,看看这三家云服务厂商类似产品的具体表现如何吧。
一、服务器基本信息
此次评测我们对比的阿里云共享通用型MN4服务器、腾讯云标准型S2服务器以及华为云S6服务器,三种类型服务器测试平台均为4核16GB内存,带宽均为5Mbps,运行系统均为CentOS 7.2。
服务器 | CPU核数 | 内存 | 带宽 | 操作系统 |
阿里云-北京MN4 | 4 | 16GB | 5Mbps | CentOS 7.2 |
阿里云-上海MN4 | 4 | 16GB | 5Mbps | CentOS 7.2 |
华为云-北京四区S6 | 4 | 16GB | 5Mbps | CentOS 7.2 |
华为云-上海二区S6 | 4 | 16GB | 5Mbps | CentOS 7.2 |
腾讯云-北京四区S2 | 4 | 16GB | 5Mbps | CentOS 7.2 |
腾讯云-上海二区S2 | 4 | 16GB | 5Mbps | CentOS 7.2 |
为了保证数据的准确性,我们测试时选取了各家厂商北京和上海两个机房的服务器进行对比测试,同时测试过程中所使用的陪练机也均为与测试机同类型的1核1GB内存,带宽为5Mbps,CentOS 7.2操作系统。
陪练服务器 | CPU核数 | 数量 | 内存 | 带宽 | 操作系统 |
阿里云-北京MN4 | 1 | 4 | 1GB | 5Mbps | CentOS 7.2 |
阿里云-上海MN4 | 1 | 4 | 1GB | 5Mbps | CentOS 7.2 |
华为云-北京四区S6 | 1 | 4 | 1GB | 5Mbps | CentOS 7.2 |
华为云-上海二区S6 | 1 | 4 | 1GB | 5Mbps | CentOS 7.2 |
腾讯云-北京四区S2 | 1 | 4 | 1GB | 5Mbps | CentOS 7.2 |
腾讯云-上海二区S2 | 1 | 4 | 1GB | 5Mbps | CentOS 7.2 |
二、处理器与内存表现
首先我们对六台测试服务器进行CPU跑分,这里我们采用的是Geekbench 4跑分的数据,Geekbench 4相关测试程序可以在Geekbench网站下载。解压后即可运行,这里我们对每台服务器进行五组跑分取平均值。
测试过程中,我们看到,阿里云MN 4采用的是英特尔至强E5-2682 v4处理器,腾讯云S2采用的是英特尔至强E5-26xx v4处理器,华为云S6则采用的是SkyLake架构的英特尔至强Gold 6278C。
这三款服务器中,腾讯云的具体型号我们无法知晓,但是通过Geekbench 4跑分数据来看,应该是至强E5 269x v4。由于华为云S6采用的架构比较新,所以华为云S6单核和多核跑分明显好于腾讯云S2和阿里云MN4。
这里我们看到,华为云S6服务器在处理器上的优势相比于其他厂商类似类型的产品性能上还是有很多的优势的,这种优势直接影响服务器的计算性能,在高性能的场景下,华为云S6相比于腾讯云S2和阿里云MN4表现会更好。
在内存方面,各家产品我们均选取16GB的规格进行测试,但是不同厂家对内存选取也不同,出于节省成本的考虑,云服务器厂商往往很少公布内存的频率和型号,这里我们通过stream测试工具对阿里云、腾讯云以及华为云上的测试服务器进行测试。
sream是业界广为流行的综合性内存带宽实际性能测量工具之一。stream支持Copy、Scale、Add、Triad四种操作。
Copy它先访问一个内存单元读出其中的值,再将值写入到另一个内存单元。Scale操作先从内存单元读出其中的值,作一个乘法运算,再将结果写入到另一个内存单元。Add操作先从内存单元读出两个值,做加法运算,再将结果写入到另一个内存单元。Triad的表示将Copy、Scale、Add三种操作组合起来进行测试。
测试前,应该先解压编译stream文件,具体编译代码如下:
gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE=64000000 -DNTIMES=10 stream.c -o stream
这里的内存测试我们同样对测试服务器进行五次测试取平均值,具体测试数据如下:
这里我们看到,华为云S6服务器内存规格相比于其他两家更好,这样它的stream内存测试数据也是最好的,腾讯云S2服务器次之,阿里云MN4北京和阿里云MN4上海采用的内存规格显然并不一样,这就出现带宽表现差距比较大的情况。
其中我们看到,华为云服务器在Scale、Add以及Triad三项上,内存带宽表现基本上是其他两家的2倍。
这样我们可以看到,华为云在内存带宽的表现上能很好地应对大规模数据,结合高性能的英特尔至强Gold 6278C处理器,能够应对大量的数据处理。
三、存储表现
现阶段不同的云服务器厂商会提供不同的存储解决方案以应对各种使用场景,这种存储解决方案往往称之为云硬盘,它为ECS、BMS等计算服务提供持久性块存储的服务,通过数据冗余和缓存加速等多项技术,提供高可用性和持久性,以及稳定的低时延性能。您可以对云硬盘做格式化、创建文件系统等操作,并对数据做持久化存储。
现阶段厂商基本上都会提供三种存储解决方案,分别是普通云盘、高速云盘、SSD云盘。这里我们通过挂载不同种类的云盘对测试机的存储能力进行测试。
由于阿里云和腾讯云测试区普通云盘销售均出现断货情况,我们只对受测的三家云服务商的高速云盘和SSD云盘进行测试,测试所使用的工具为fio,测试项目包括随机读写IOPS和顺序读写吞吐量,测试磁盘大小均为700GB。
各家虽然命名不同,但是基本的磁盘命名方式我们也能大体了解这些硬盘的一个能力如何,华为云将高速硬盘命名高IO云盘,腾讯云将其命名为高性能云盘,阿里云则称之为高效云盘,这里我们首先来看一下各家高速云盘的表现。
在高速云盘4K随机读写表现上,我们看到腾讯云表现更好一些,4K读写基本上为6000IOPS,而华为云保持在5000IOPS,阿里云保持在5050IOPS,这种随机读写让一些碎片化较高的数据能得到较快的存取,不过这里三家高速云盘表现基本上没有太大的差别,在顺序读写的吞吐量表现也是如此。这种高速云盘更适合存储一些冗余数据和静态数据。
在SSD云盘命名上,各家也有自己一套独立的命名方式,华为云称之为超高IO云盘,腾讯云和阿里云称之为SSD云盘。SSD云盘往往对颗粒要求比较高,这些颗粒也能保证一些热数据的超高速存取。
在4K随机读写测试中,华为云超高IO云盘达到33万IOPS,相比于另外两家着实抢眼。腾讯云SSD云盘4K随机读写仅在20万IOPS上下,而阿里云SSD云盘4K随机读写在23万IOPS上下,其中阿里云北京机房4K随机写表现不如上海机房,仅为19万IOPS。其后的顺序读写测试,阿里云也出现这一问题。
顺序读写中我们看到华为云表现依旧抢眼,顺序读写吞吐量均达到了350MB/s,而腾讯云SSD云盘稳定在273MB/s。阿里云北京机房顺序写吞吐量仅为199MB/s,而顺序读吞吐量基本与上海机房持平,在300MB/s上下。
从对高速云盘和SSD云盘的整体测试上我们看到,各家的高速云盘整体差距并不大,但是SSD云盘上华为云更具领先优势,而腾讯云SSD云盘性能较低稳定性尚可,阿里云SSD云盘性能上虽然比腾讯云高一些,但是不同机房之间的稳定性有差距。
- 云主机内网测试
一般而言,各家云服务厂商允许用户在同一机房申请多台服务器搭建各种服务,这种服务被称之为虚拟私有云,是用户可以在这些服务器之间自由配置IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。
这里我们首先使用netperf工具对这三家服务器运营商内网间TCP带宽性能进行测试。这里我们需要在各个主机中开启4台陪练机,测试机与4台陪练机均安装netperf,测试机做Server,陪练机做Client负责打流。
测试端口令如下:
netserver -p port & (7001、7002、7003、7004端口为测试端口)
客户端口令如下:
netperf -H serverip -p port -t TCP_STREAM -l 300 — -m 1440 & (serverip为测试机内网IP,port为对应测试接口)
测试结果如下:
规格名称 | 内网带宽(Mbps) |
华为云(北京4) | 386.87 |
华为云(上海2) | 404.44 |
腾讯云(北京4) | 1118.96 |
腾讯云(上海4) | 1118.30 |
阿里云(北京) | 213.98 |
阿里云(上海) | 280.04 |
测试结果来看,华为云内网带宽在400Mbps上下,腾讯云内网带宽在1100Mbps上下,阿里云内网带宽在280Mbps上下。整体来看,腾讯云内网带宽根据优势,适合数据量比较大的多台服务器组成的内网。
接下来我们使用iPerf3对测试机进行UDP PPS测试,这里每台测试机开放8个端口作为测试端口,每台陪练机通过2个端口对测试机加压。开放端口为16001-16008。
测试端口令如下:
iperf3 -s -i 1 -p port(port为加压端口)
客户端口令如下:
iperf3 -u -l 16 -b 100m -t 120 -c serverip i 1 -p port(serverip为内网IP,port为测试机加压端口)
测试结果如下:
规格名称 | 内网PPS(万) |
华为云(北京4) | 25 |
华为云(上海2) | 25 |
腾讯云(北京4) | 51 |
腾讯云(上海4) | 44 |
阿里云(北京) | 15 |
阿里云(上海) | 15 |
通过测试结果我们看到,华为云S6内网PPS为25万,腾讯云S2内网PPS在45万至51万之间,阿里云MN4内网PPS为15万。整体来看,腾讯云内网数据表现更好一些,不过其他两家的表现也基本上能满足企业用户日常的使用需要。
- 云主机外网测试
云主机外网测试我们通过第三方测试网站对待测的服务器进行测试,外网与云主机的连通性直接决定未来相关服务的速度和质量。通过连续五组测试数据,我们取得各台主机的平均PING值,具体如下:
我们看到各家平均PING值在60ms上下,海外平均PING值在130ms上下,整体比较接近。
接下来,我们通过从服务器下载100MB文件对测试服务器的传输速度和链路质量进行简单的测试,这里测试每次进行五组,测试网络为青岛联通,测试结果如下:
这里我们看到,三家云服务商中,华为云S6服务器连接速度较快,整体文件下载也优于另外两家。当然,本身这一测试存在网络的因素,但是各家网络相对而言都是非常稳定的。
总结
总的来讲,阿里云、腾讯云和华为云配置接近的三款服务器表现整体而言,华为云和腾讯云是优于阿里云的。
如果用户倾向于大规模运算以及高速的数据存储需求,华为云是更好的选择。如果要建立大规模的服务集群,腾讯云内网联通速度也是非常好的保障。而阿里云在国内市场的占有率也让不少用户有所青睐。
至于价格,我认为这并不是一个需要考虑的问题,因为主流的云服务厂商主推的是按期订购或是按量订购,同时用量大也会有各种各样的优惠,针对于大客户更会有专门的销售人员给出参考。所以说,对于站长们来讲,确定好需求和用量,云服务器厂商自然就清楚的出来了。