有对比,必然有优劣,为了找出阿里云、腾讯云、华为云这三家云服务究竟孰优孰劣,我们专门购买了三家的服务器进行了详细横评,结果究竟会如何呢?
二、科普:对象存储究竟是啥?看完秒懂OSS/COS/OBS
不同数据的存储需求各不相同,有些数据有严格的分级与从属关系,适合结构化存储;而有些数据则因为过于零散而没有层级划分,全部存储在同一级别中。前言中提到的海量数据显然属于后者,适用于它的存储方式是对象存储。
对象存储即基于对象的存储,就是将存储的数据当做一个个对象单独对待,适用于非结构化的扁平层级数据,阿里称其为OSS,腾讯称其为COS,而华为取名为OBS,尽管名称各不相同,但他们都代表对象存储。
那么这些对象存储相较于普通用户使用的网盘有什么区别呢?
一是容量上的区别,普通网盘最大存储量大约在10TB以下,而对象存储存储容量则是按需分配,凭借着云服务商的超大规模机群,可以不断扩展,拥有接近无限的存储空间。
二是安全性上的区别,目前对象存储都提供了冗余备份,针对一些特殊企业还提供了金融级跨地域备灾服务(一般是三地存储),对外宣传超过10个9的持久性,这是普通个人网盘远远不能比的。
三是存储增值服务上的区别,对象存储一般都会提供一些诸如水印处理、直播转录播等适用不同场景的轻量增值服务,可以在存储的同时进行简单处理。
当然对象存储最大的优势依然是成本优势,相较于传统自建服务器形式存储数据,云服务商的对象存储无需自己购买、搭建、维护服务器,只需要按时或按量购买所需的容量与流量即可,拥有很高的弹性。
三、测试环境:阿里/腾讯/华为同台竞技 100%公平测试
这一部分一句话总结,我们使用了同样的云服务器,同样的测试工具,同样的测试方法,对阿里云/腾讯云/华为云进行公平测试。不感兴趣的读者可以直接跳过查看测试结果。
1、云服务规格
为了测试的公平性,我们筛选了阿里云/腾讯云/华为云配置参数基本一致的8核16G内存云服务器,系统同为CentOS 7.4(一个专门用于服务器的Linux发行版),经过对比后,选择三家厂家的云服务器如下:
这里补充一点,本来这里要提供的华为云c3.2xlarge.2系列服务器,但是由于测试时华为C3服务器缺货,故我们只能选择性能稍弱的Hc2.2xlarge.2来测试。
另外三家云服务的测试区域统一选择为华南区域。
2、测试工具
由于国内三家云服务的对象存储接口不同,SDK也不兼容,所以针对对象存储的测试工具较少,这里我们选择了一款在Github开源的Python测试工具——obscmdbench。
obscmdbench主要用于执行对象存储系统的性能测试功能。它可以自动生成定义的对象上传和下载的测试数据大小,自定义并发配置和上载对象的数量,自定义测试业务接口,并且当前支持大多数对象接口操作。
有技术基础的读者也可以直接在Github上搜索obscmdbench以查阅其源码。
3、测试方法
对象存储服务一般面临2种使用场景,一是“存钱式”存储,就是不断地上传下载小文件,小文件的传输延迟决定了用户的使用体验;二是“仓库式”存储,就是在短时间迁移巨量数据至云端,这个非常考验云服务的上传速度。
这里我们针对这两种使用场景,采取了两种测试方法来测试三家对象存储服务的性能,一是小文件100并发的多并发上传下载平均延迟测试,来对比三家存取多个小文件时的性能;二是单个大文件的单发上传下载速度测试,来对比三家存取大文件时的宽带性能。
另外考虑到内网传输多使用HTTP协议(效率更高),公网传输多使用HTTPS协议(更安全),我们分别在HTTP与HTTPS环境下各自测试一遍,力求覆盖到所有应用场景。
四、对比测试:阿里vs腾讯vs华为 延迟带宽谁更强?
1、HTTP环境测试结果
首先是模拟大量小文件存取的小文件100并发的多并发传输延迟测试,测试单位为毫秒(ms),分为128K/512K两种大小进行测试。
可以看到无论是128K还是512K,上传还是下载,华为云的延迟都是最低的,延迟低于对手60-70%,大幅领先腾讯云与阿里云。
在大文件单发宽带速度测试中,也出现了同样的结果,华为云同样一骑绝尘,在1GB文件下载测试中速度达到了374MB/s,是腾讯云的16倍!在其他测试中也有2-14倍的幅度领先。
2、HTTPS环境测试结果
在HTTPS环境下,由于协议限制,所有测试项目的成绩都有所下降,不过总的来说,华为云依然延续它之前的堪称完美的表现。
在小文件100并发的多并发传输延迟测试中,华为云依然全面领先,不过优势收窄到40-60%。
在大文件单发宽带速度测试中,华为云最高速达到了224.18MB/s,领先幅度收窄到了1.5-9倍。
五、测试解析:软硬件结合 领先业界的25GE+lrc算法
数据不会说谎,但是看到差距如此之大的测试结果,笔者还是感到了不可思议,华为云OBS究竟是如何做到数倍数倍领先竞争对手的成绩呢?
对此,笔者辗转联系到了华为云存储高级工程师,该工程师表示,华为云对象存储性能在实际测试中大幅领先,其实是多年对存储软硬件研发实力的展现。
——先进的硬件
首先是硬件上的,就在2018年3月份,华为云就表示,其OBS对象存储服务已经摒弃10GE网络,全面部署25GE网络。
25GE即25Gbps(也就是3.125GB/s),是公认的下一代数据中心互联解决方案,得益于华为在网络设备的领导者地位,华为云是国内第一家全面进入25GE时代的云服务商,先进的以太网标准和全自研的设备给予了华为云远超对手的上下行宽带速度,这也是华为云在大文件宽带测试中网速一骑绝尘的根本原因。
除此之外,华为云还使用了大容量的NVMe标准SSD硬盘,电脑DIYer应该对它非常熟悉,NVMe标准SSD用超高的读写速度保证了文件读写的高性能,规避了机械硬盘频繁寻道的问题,而且通过高速SSD的引入,可以大幅提升云存储系统的整体性能表现。
——底层优化的软件
在硬盘数以万计的大集群数据中心中,硬盘故障是常态,所以很多时候故障硬盘的数据恢复就会成为影响IO请求速度的重要原因之一。
为此华为提出了lrc算法,lrc是一种先进的数据恢复算法。一般来讲,如果一份数据分散放在4、5个机房当中,当某个机房中的硬盘故障时,传统的恢复算法会请求读取其它机房中的数据以恢复故障硬盘中的文件。
但华为的lrc可以把这个读取范围限制在本机房中,换句话说,系统只需要读取就近的数据即可恢复故障硬盘,而无需再跨机房读取数据占用宝贵的宽带资源。
除了改良的lrc算法外,华为还对底层软件做了诸多优化,例如使用了Append only接口来延长磁盘使用寿命;提供了新的增强实例c3ne,保证客户端不成为瓶颈;对IP路径端到端做了内存免拷贝处理,大大减少了CPU负担,提高了带宽速度等等等等。
凭借着先进硬件配备与软件优化,华为云OBS才取得了如此傲人的成绩。
六、价格对比:最低600元存2T!腾讯最贵 华为促销诚意满满
相较于计算型/内存型这类强调算力/速度的云服务而言,对象存储服务更看重存储能力,考虑到其针对B端的服务场景,这里所述的“存储能力”,并非普通用户以GB为单位的存储,而是指以PB为基础单位的大数据存储量。
所以即便对象存储服务价格再低廉,乘以硕大的企业数据规模,都会成为企业在使用中所面临的最主要成本,所以除了我们刚才测试的速度之外,阿里云/腾讯云/华为云三者之间的价格也直接影响到用户的考量与选择,那么,究竟哪家云服务更便宜呢?
这里选择了三家对象存储服务同规格的资源包,同样是2TB存储+100GB下行流量,分别对比3个月与一年期的价格。
先来看看2TB存储包的价格,在3个月期限中腾讯云的2TB存储包价格最高,阿里与华为云持平,皆为663元;而一年期价格也同样如此,腾讯依然最高,阿里与华为云皆为1989元。
接着是100GB下行流量包的价格,在3个月期限中腾讯云的流量包价格最高,阿里与华为云持平,皆为147元;而一年期价格也同样如此,腾讯依然最高,阿里与华为云皆为441元。
可以看到,腾讯云COS的价格确实是国内三大对象存储服务中最贵的一家,阿里云与华为云价格保持在同一水平。不过需要注意的是这是基于近期折扣所计算出的价格,不具长期参考性。
不过如果细究起近期阿里与华为的促销活动,他们的促销力度也有少许区别,华为的“超级促销”提供了19元购买500G/半年存储容量包、89元购买2T/1年存储容量包的超低折扣;而阿里提供了99元购买1T/3年存储容量包的促销力度;相较之下华为提供的容量更大,而阿里提供的有效期更长。
值得一提的是除优惠价格外,华为云OBS还提供了可以免费领取的代金券,一张代金券价值99元,每日发放99张,可以在支付时叠加使用,每个用户都可以享受两种促销(但是不能叠加)。这么来看的话,华为提供的促销形式比阿里更丰富一些,适合各种需求的云服务客户,诚意十足。
七、总结:对象存储最佳选 强悍又实惠的华为云OBS
云服务是一个典型的性能为王的服务,衡量云服务优劣的唯一标准,就是它的性能与价格,所以在这篇横评中,没有主观评判的内容,基本上全部都是干货。
结果很明显,在测试环节,华为云OBS以无可争议的优异成绩取得了第一,无论是小文件多并发的传输延迟,还是大文件单发的宽带速度,华为云OBS都大幅领先阿里云OSS与腾讯云COS,而且这个幅度真的相当相当大。
至于价格,在综合了近期的优惠之后,华为云与阿里云价格持平,腾讯云则略高于两者。而且华为云OBS的促销力度与形式更富诚意。
总的来说,华为云用同级别的价格,提供了越级的云服务器和对象存储性能,性价比堪称同价位无敌。
需要强调的是,由于笔者在云服务方面的专业知识有所欠缺,此次测试可能存在些许不足与问题,这里也希望广大读者与云服务从业人员可以在评论中多多指正。好了,这次评测就到这里了,大家下次再见咯~