约莫 一年前,我在某国外云厂商上摆设 了本身 的第一个网站,以后 成为一名云盘算 用户。由于国内用户访问未便 ,前段时间我将网站迁回了国内,并记录 下了大抵 的迁徙 过程 。此中 开篇扼要 阐明 白 终极 选择的国内云服务商(腾讯云),但并没有对背后的具体 缘故起因 做深入的表明 。
本文筹划 从性能评测和代价 等角度 ,做一下阐明 。
云盘算 市场夺取
阿里云作为名副着实 的国内业界第一,名声非常大,不外 近来 IT之家的事闹出来之后 ,我有点光荣 终极 没有选择它 。腾讯云算是业界老二,而且有着腾讯这个强大 的背景 ,云服务产物 的种类和质量都不错。
上个月阿里云在云栖大会上公布 贬价 ,昨天腾讯云方面也推出了全线贬价 活动 ,对包年包月产物 均提供了大幅度的贬价 优惠。阿里和腾讯在云盘算 范畴 之争继承 上演,两边 都想通过代价 上风 带来用户的高增长 ,劫掠 市场份额 。
这对于云盘算 用户来说天然 是一件功德 ,但是假如 让代价 完全左右企业或个人用户的购买决定 的话,那么终极 很大概 会出现已购产物 无法满意 需求,从而不得不被迫迁徙 的环境 。笔者的观点很简单 ,在思量 代价 因素之前,应该先从产物 性能、服务等多方面举行 评估。
在选择本身 的云服务器之前,我也在腾讯云和阿里云之间夷由 过 ,并对两家的产物 做过一些简单 的对比 。下文中会扼要 分享一下对比结果 。
在对比每一款产物 时,本文先通过一系列的标准 化测试比力 产物 的性能,然后再连合 产物 的最新优惠代价 因素举行 评价。至于两家的产物 到底谁的性能更好 、性价比更高 ,统统 还是 要用数听说 话 。
本文采取 的测试工具和方法先容 ,请查察 配套文章:云盘算 产物 性能测试指南。阅读期间,假如 你以为 具体 对比过程太长 ,可以直接跳到本文结语部分 查察 对比结论。
选择对比产物
腾讯云和阿里云都是典范 的 IaaS 服务商,产物 种类繁多。限于时间和本钱 ,没办法对全部 产物 举行 逐一 对比 ,只能有选择性地比力 一些底子 产物 和服务 。
根据AWS Web 应用参考架构,一个高可用、可伸缩的网站至少必要 利用 以下云盘算 资源:云服务器、云数据库 、对象存储服务、负载均衡 、内容分发等。因此我们在本文中重要 对比云服务器 、云数据库和对象存储这三个比力 底子 的产物 。
网站参考架构图:以 AWS 服务为例 。
对比产物 的英文简称
下文在谈到对应产物 时,将利用 其简称表现 。
云服务器对比
云服务器是全部 云盘算 服务商提供的最底子 产物 。厂商一样平常 会根据分配的资源分别 云服务器的级别和规格 。但是由于采取 的底子 硬件、架构和调优技能 存在差别 ,雷同 设置 的云服务器之间也大概 有较大的性能差别 。
假如 想相识 并比力 差别 厂商云服务器的差别 ,最好的方式就是运行基准测试。
性能测试预备
在开始测试之前,我们先在两家创建雷同 设置 的两台云服务器,只管 确保测试结果 之间具备可比性 。付费方法均采取 按量计费 ,利用 包年包月服务器举行 测试的本钱 较高。
腾讯云和阿里云针对按量计费的云服务器,均要求账户内有肯定 的余额:腾讯云好像 没有最低充值要求,充值 10 元即可;阿里云要求账户内至少有 100 元余额。
测试云服务器的具体 设置 如下:
这里指出一点 ,由于阿里云 ECS 云硬盘最小为 40G,而腾讯云 CVM 默认 Linux 体系 赠送 20G,为了在背面 对比二者代价 时有可比性 ,将 CVM 的云硬盘调解 为 40G 。
除了体系 盘默认巨细 差别 外,测试云服务器在 CPU、内存 、操纵 体系 等方面均为同一规格的设置 。这个规格的设置 也是中小型网站摆设 的保举 设置 ,应该可以或许 满意 大部分 用户的需求。
性能测试过程
由于测试的流程比力 长 ,在本文中只扼要 先容 下所利用 的工具及对应关注的指标。具体 的测试操纵 步调 ,我会在云盘算 产物 性能测试指南中先容 。
在测试云服务器之前,我参考了很多 相干 评测文章,终极 决定利用 如下工具和指标:
有关此中 所利用 工具和指标的具体 阐明 ,请移步到这里:云盘算 产物 性能测试指南。
性能测试结果
GeekBench 会将测试结果 上传到本身 的网站,本文测试结果 的访问地点 如下:
·CVM
·ECS
各项指标结果 汇总如下:
云服务器性能测试结果 :腾讯云、阿里云
从数据来看,腾讯云的 CVM 在 UnixBench 和 GeekBench 两个综合性测试工具下的得分都高于阿里云的 ECS。
UnixBench 和 GeekBench 两个综合性测试工具
CPU 耽误 和内存性能方面 ,ECS 略胜一筹,但是上风 不大 。在磁盘 I/O 性能上,阿里云的表现 靠近 在启动实例设置 时所先容 的 500 IOPS。但是与腾讯云相比逊色不少 ,CVM 的磁盘随机读/写的 IOPS (每秒的输入输出量,或读写次数)均在 4000 左右。
磁盘 I/O 性能
着实 看到二者在磁盘 I/O 性能上差距居然这么大,笔者刚开始很惊奇 ,还以为测试下令 输入有误,不外 反复测试确认之后,可以证明 这个数据并没有错 。同时也向客服方面相识 ,得到的复兴 是:CVM 的磁盘 I/O 最大性能指标简直 可以到达 4000,但是并不答应 不停 保持该性能。这点可以明白 ,随着租户的增长 ,最大性能指标很有大概 会渐渐 降落 。
末了 要留意 的是 ,固然 我们利用 了着名 的基准测试工具,但是具体 的数据大概 并不能正确 地阐明 云服务器的性能 。由于 云服务器的性能和相邻租户利用 环境 是相干 的,根据其他租户的利用 环境 而差别 ,因此以上数据仅作参考利用 。
思量 代价 因素
末了 我们来参加 代价 因素。阿里云此前在云栖大会上公布 云产物 大幅贬价 ,近期腾讯云方面也趁着双十一公布 了一轮贬价 ,那么我们连合 上面的性能测试结果 ,来看看贬价 之后两家的性价比如 何 。
上图中的代价 信息取自 11 月 4 日创建实例时表现 的代价 。
从包月费用来看,腾讯云 CVM 比 ECS 要贵那么一丁点,不外 思量 到它的性能评分就会以为 贵的物超所值了。但是从之后的二、三年优惠价来看 ,CVM 的费用反而要低于 ECS 相应限期 的本钱 了。假如 两家的贬价 幅度雷同 的话,那代价 应该是阿里云不停 自制 一些才对啊?
确实,背后的缘故起因 就是在于二者的贬价 幅度差别 :阿里云是中国地区 实例最高 3 年 5 折 ,带宽和体系 盘并没有这么高的扣头 ,只有 8.5 折 。
阿里云扣头 截图
相比之下,CVM 是真正的全线贬价 ,三年实例 、带宽和体系 盘费用都是 5 折优惠。
因此 ,这段时间内购买腾讯云 CVM 的性价比是要高于阿里云 ECS的,尤其是购满 2-3 年的话。
云数据库对比
我们接着对比两家的底子 云数据库:CDB 和 RDS 。
如今 假造 化技能 已经取得很大的盼望 ,可以将物理机假造 化为多个云服务器 ,而且能做到总体性能的斲丧 最小。因此,网站的性能差、相应 慢,大概 不是你的应用代码写的不好 ,瓶颈很大概 就在于云数据库的性能。因此,选择云服务商的云数据库性能,也是决定购买决定 的一个紧张 因素 。
由于 MySQL 是网络上利用 最为广泛 的数据库 ,腾讯云和阿里云两家底子 的数据库产物 也都是基于 MySQL 的,因此在这项评测上我们选择 MySQL,版本为 5.6。
测试预备 工作
两家的云数据库如今 只提供一种设置 范例 ,分别是高 IO 版(CDB)和双机高可用版(RDS)。因此在这项测试中,利用 一组完全雷同 设置 的云数据库是不大概 ,只能转而利用 同价位级别的服务器 。
基于上述缘故起因 ,我们分别在腾讯云和阿里云创建最低配版的云数据库(CDB 和 RDS)。具体 设置 如下表所示:
从官方分别 的范例 和内存巨细 来看 ,这应该是一组可比力 的实例。别的 ,为了低落 测试时网络的影响,我们继承 利用 对比云服务器时创建的实例 ,来运行测试代码 。
测试过程
MySQL 云数据库有很多 性能测试工具,如自带的 mysqlap。本文所选择的是 sysbench。
Sysbench 是一个模块化的、跨平台、多线程基准测试工具,重要 用于评估测试各种差别 体系 参数下的数据库负载环境 。还可以用来测试 CPU 性能 、磁盘 I/O 性能等指标 。我们用到的是其提供的 OLTP 基准测试 ,默认支持 MySQL 数据库。
Sysbench 的安装及测试方法请看云盘算 产物 性能测试指南的云数据库部分 。本文中实行 了随机读写、随机只读两种测试 。
OLTP 测试输出结果 如下图所示:
腾讯云 CDB:sysbench 随机只读测试结果
我们必要 关注的数据包罗 测试完成的事件 总数,即图中的 read/write requests ,表现 数据库的吞吐量;以及均匀 哀求 时间 ,即图中 per-request 数据下的 avg 对应的值,表现 数据库哀求 的耽误 。
性能测试结果
这里只用到了一种测试工具,而且测试的范例 也不多 ,因此很快我们就可以得到测试结果 ,将此中 我们必要 的数据提取出来,可以得到下图中的对比数据。
云数据库性能测试结果
从结果 可以看出,腾讯云 CDB 的数据库读写哀求 吞吐量相比 RDS 来说高很多 ,是后者的约 6-7 倍左右,哀求 的相应 时间也非常快,在 10ms 以内 。高 I/O 版本的表现 简直 强劲。
思量 代价 因素
末了 我们思量 二者的代价 因素。
两家最新的优惠代价 对比如 下:
云数据库代价 对比
以上代价 信息取自 11 月 4 日创建实例时表现 的代价 ,地区 分别为:CDB 广州,RDS 华南1
至于另一个费用泉源 ——网络流量费用,假如 利用 两家对应的云服务器的话 ,与云数据库之间就是内网流量,应该都是免费的 。以是 流量费用题目 可以忽略。
从上图我们可以得出,两家在包月代价 上差别 不大 ,但是就此次贬价 幅度来看,腾讯云 CDB 的优惠非常之高:二、三年的优惠价(4折 、3折)是 RDS 的一半;一年、二年和三年购买限期 处在同一个价位段,而且买两年的代价 比一年还低。
假如 Web 应用要求大量快速的数据库读取操纵 ,那么在购买限期 为二、三年的环境 下,设置 两台 CDB 高 IO 版也比选择 RDS 的性价比要高 。
假如 数据库哀求 在 RDS 测试结果 之内,利用 限期 也不长,那么可以思量 利用 RDS。
别的 提示一点 ,固然 说 CDB 的版本先容 为高 I/O 版,但是据官方的产物 文档,每一个 CDB 实例都做了及时 双机热备 ,因此在可用性方面的表现 应该也不会差太多(这里我们没有对此举行 测试)。
对象存储服务对比
到末了 一个产物 了。
对象存储服务的对比有点贫苦 ,没有比力 好用的基准测试工具 。在预备 测试之前,我发现 Intel 公司开源了一个专门测试云对象存储的工具 ,叫做 COSBench,不外 痛惜 的是只支持 Amazon S3 等国外云厂商的服务,不支持腾讯云和阿里云。固然 好像 可以本身 实现对应的适配器 ,但是对于本文这个较为简单 的评测来说,有点太过贫苦 了。
因此,在对比对象存储服务时 ,我利用 两家提供的 Python SDK,编写了测试脚原来 统计上传 、下载和删除等三个任务 的用时 。留意 ,这里并没有测试高并发的环境 。
性能测试方法
为了控制网络环境 对测试结果 的影响,我在腾讯云和阿里云各自同地区 的云服务器上举行 测试 ,如许 不但 测试起来会比力 方便,而且能确保测试结果 正确 有效 。我在两家创建的对象存储 Bucket 都是位于华南区的,因此在相应地区 分别创建了一台云服务器实例 。
同时 ,为了只管 模仿 实际 用户的利用 场景,我们选择 50KB、2MB、50MB 三种级别的文件举行 测试。一样平常 网络图片的巨细 在 50K - 2MB 左右,通过这两个级别文件可以测试图片数据存储的服从 。别的 50MB 级别用于测试大文件存储性能 。
具体 来说 ,我们通过 dd 下令 天生 :
· 10000 个 50KB 文件
· 1000 个 20MB 文件
· 100 个 50MB 文件
测试时统计文件上传/下载/删除用时等指标,取均匀 值(单位 毫秒)。在测试小文件下载用时时,并没有将文件生存 到磁盘 ,克制 了磁盘成为性能瓶颈。
性能测试结果
由于测试文件数量 不少,整个测试脚本跑下来大概 要一个多小时 。终极 针对 COS 和 OSS 的测试结果 (均为单个文件均匀 值)如下。
50KB 小文件
在 50KB 小文件这个种别 中,阿里云 OSS 的上传 、删除用时表现 不错 ,小文件下载用时方面腾讯云 COS 用时较少。
2MB 小文件
2MB 小文件
随着文件巨细 的增长 ,腾讯云 COS 在上传、下载用时这两项指标上开始逾越 OSS,差距以倍数计。不外 OSS 在删除用时上仍旧 保持在 10ms 左右 。
50MB 大文件
50MB 大文件
由于 50MB 文件的上传、下载 、删除用时之间级别相差较大,因此我在绘制图表时将纵轴改为了对数可读 ,方便阅读。本文测试的实际 数据如下表所示:
50MB 大文件本文测试的实际 数据
在上传大文件时,OSS 与 COS 之间的性能差别 显得尤为突出。
综合来看:
· 阿里云 OSS 在处理 惩罚 文件上传时,随着文件巨细 增长 ,性能在渐渐 降落 ;下载用时与 COS 相差不大;文件删除用时均优于 COS,不外 文件越大,用时会有对应增长 。
· 腾讯云 COS 在文件上传上的性能比力 突出 ,尤其是大文件;下载用时表现 也不错;文件删除固然 总体不及 OSS,但每类文件删除用时均保持在雷同 的程度 。
假如 将三个指标连合 在一起,腾讯云 COS 的表现 要好于阿里云 OSS。
思量 代价 因素
我们接下来看代价 因素 ,以一个想象中的网站示例来对比 。
假设一个网站的存储数据有 1.5 TB(图片、音频、视频),每月产生流量 600 GB,月 PV 约莫 300 万 ,同时每月读哀求 600 万次,写哀求 30 万次(均匀 日哀求 21 万)。
我们利用 上面的网站数据,通过官方提供的代价 盘算 器(COS、OSS)来盘算 利用 OSS 和 COS 的代价 。
由于腾讯云 COS 如今 只提供按量计费模式,因此对比的计费方式均选择为按量计费 。
结果 如所示:
阿里云 OSS 按量计费代价 (地区 选择为华南)
阿里云 OSS 按量计费代价 (地区 选择为华南):616.7元/月。
腾讯云 COS 按量计费代价
腾讯云 COS 按量计费代价 :593.4元/月。
上面在盘算 代价 时 ,并没有参加 CDN 因素 。不外 两家在先容 产物 时都提到了,假如 设置 CDN 加快 或回源,代价 会更低。
腾讯云在上面的计费对比中胜出的缘故起因 ,大概 与其推出的免费额度有关。如今 ,每个 COS 用户都有每月 50G 的免费存储空间,10G 的免费流量 ,以及 100 万次免费读哀求 和 10 万次免费写哀求 。阿里云在 2015 年时曾推出过免费 OSS 额度,但是如今 已经没有了 。
结语
至此,我们已经完成了对腾讯云和阿里云三个底子 性云盘算 产物 的评测对比 ,分身 了性能指标和代价 因素。具体 的评测结果 总结如下:
·云服务器:划一 设置 下,腾讯云 CVM 的团体 性能高出阿里云 ECS 不少;CVM 的包月费用略高于 ECS (3块钱),但是此次贬价 幅度比 ECS 更大 ,一年期以上购买 CVM 的性价比更高。
· 云数据库:由于二者种别 差别 ,测试了各自最低品级 设置 的 CDB 和 RDS,CDB 在吞吐量和耽误 两项性能指标上均大幅领先;同时贬价 力度也大于 RDS,因此可以说 CDB 的性价比远高于 RDS 。
· 对象存储:在巨细 文件的上传 、下载和删除几项指标上 ,腾讯云 COS 和阿里云 OSS 各有得分,OSS 在文件删除上表现 不错,但是在大文件上传上要逊色不少;COS 在各项指标上的表现 都可圈可点。
因此 ,仅仅从这三项产物 的性价比来看,腾讯云这次贬价 进一步增长 了其产物 的上风 。假如 让我在这场代价 战下选择云盘算 服务商的话,我会选择腾讯云 。而这也是我之前迁徙 网站时所做的选择。
不外 话又说返来 ,要评估一家云盘算 厂商,除了性能和代价 之外,还要思量 可用性、可靠性等其他诸多指标(各家之间的差别 大概 不大)。对后者举行 评测涉及的操纵 更为复杂 ,并不是本文所能涵盖的 。而我上面所做的选择,也重要 是基于性能和代价 两个因向来 思量 的。
由于时间有限,无法将国内其他云盘算 厂商的产物 一并参加 测试 ,欢迎 有爱好 的朋侪 按照本文所先容 方法对本身 所利用 的云盘算 产物 举行 测试,并将结果 分享给我,方便各人 参考。也盼望 本文可以或许 资助 各人 选购到满意 的云盘算 产物 。
本文和配套评测指南中如有任何错误,还请各人 指正。
参考资料
· 2015年度PK ,云存储(对象存储)性价比对比评测
· 论云存储服务性能评测的精确 姿势
· 国内公有云对比(2)- 性能篇
·How to Benchmark Cloud Servers
· Cloud Benchmark at Slush 2015
· Benchmarking cloud servers: A Cloud Computing Insider's Guide
·How to Benchmark Disk I/O
·Benchmark MySQL Server Performance with Sysbenc
· Real-world benchmarking of cloud storage providers