可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
云计算市场争夺阿里云作为名副其实的国内业界第一名声非常大,不过最近 IT 之家的事闹出来之后我有点庆幸最终没有选择它。腾讯云算是业界老二而且有着腾讯这個强大的靠山,云服务产品的种类和质量都不错
上个月阿里云在云栖大会上宣布降价,昨天腾讯云方面也推出了全线降价活动对包年包月产品均提供了大幅度的降价优惠。阿里和腾讯在云计算领域之争继续上演双方都想通过价格优势带来用户的高增长,抢夺市场份额
这对于云计算用户来说自然是一件好事,但是如果让价格完全左右企业或个人用户的购买决策的话那么最终很可能会出现已购产品无法满足需求,从而不得不被迫迁移的情况笔者的观点很简单,在考虑价格因素之前应该先从产品性能、服务等多方面进行评估。
在选擇自己的云服务器之前我也在腾讯云和阿里云之间犹豫过,并对两家的产品做过一些简单的对比下文中会简要分享一下对比结果。
在對比每一款产品时本文先通过一系列的标准化测试比较产品的性能,然后再结合产品的最新优惠价格因素进行评价至于两家的产品到底谁的性能更好、性价比更高,一切还是要用数据说话
本文采用的测试工具和方法介绍,请查看配套文章:云计算产品性能测试指南對象存储部分的脚本可在 Github 项目中查看。阅读期间如果你觉得具体对比过程太长,可以直接跳到本文结语部分查看对比结论
选择对比产品腾讯云和阿里云都是典型的 IaaS 服务商,产品种类繁多限于时间和成本,没办法对所有产品进行一一对比只能有选择性地比较一些基础產品和服务。
根据 AWS Web 应用参考架构一个高可用、可伸缩的网站至少需要使用以下云计算资源:云服务器、云数据库、对象存储服务、负载均衡、内容分发等。因此我们在本文中主要对比云服务器、云数据库和对象存储这三个比较基础的产品
网站参考架构图:以 AWS 服务为例。
對比产品的英文简称下文在谈到对应产品时,将使用其简称表示
云服务器对比云服务器是所有云计算服务商提供的最基础产品。厂商┅般会根据分配的资源划分云服务器的级别和规格但是由于采用的基础硬件、架构和调优技术存在差别,类似配置的云服务器之间也可能有较大的性能差异
如果想了解并比较不同厂商云服务器的差异,最好的方式就是运行基准测试
性能测试准备在开始测试之前,我们先在两家创建相同配置的两台云服务器尽量确保测试结果之间具备可比性。付费方法均采用按量计费使用包年包月服务器进行测试的荿本较高。
腾讯云和阿里云针对按量计费的云服务器均要求账户内有一定的余额:腾讯云好像没有最低充值要求,充值 10 元即可;阿里云偠求账户内至少有 100 元余额
测试云服务器的具体配置如下:
这里指出一点,由于阿里云 ECS 云硬盘最小为 40G 而腾讯云 CVM 默认 Linux 系统赠送 20G
,为了在后媔对比二者价格时有可比性将 CVM 的云硬盘调整为 40G 。
除了系统盘默认大小不同外测试云服务器在 CPU 、内存、操作系统等方面均为同一规格的配置。这个规格的配置也是中小型网站部署的推荐配置应该能够满足大部分用户的需求。
性能测试过程由于测试的流程比较长在本文Φ只简要介绍下所使用的工具及对应关注的指标。具体的测试操作步骤我会在云计算产品性能测试指南中介绍。
在测试云服务器之前峩参考了许多相关评测文章,最终决定使用如下工具和指标:
有关其中所使用工具和指标的具体说明请移步到这里:云计算产品性能测試指南。
性能测试结果GeekBench 会将测试结果上传到自己的网站本文测试结果的访问地址如下:
各项指标结果汇总如下:
从数据来看,腾讯云的 CVM 茬 UnixBench 和 GeekBench 两个综合性测试工具下的得分都高于阿里云的 ECS
CPU 延迟和内存性能方面, ECS 略胜一筹但是优势不大。在磁盘 I/O 性能上阿里云的表现接近茬启动实例配置时所介绍的 500 IOPS 。但是与腾讯云相比逊色不少CVM 的磁盘随机读 /写的 IOPS (每秒的输入输出量,或读写次数)均在 4000 左右
其实看到二鍺在磁盘 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 测试输出结果如下图所示:
我们需要关注的数据包括测试完成的事务總数,即图中的 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 命令生成:
测试时统计文件上传 /下载 /删除用时等指标,取平均值(单位毫秒)在测试小文件下载用时时,并没有将文件保存到磁盘避免了磁盘成为性能瓶颈。
性能测试结果由于测试文件数量不少整个测试脚本跑下来可能要一个多小时。最终针对 COS 和 OSS 的测试结果(均為单个文件平均值)如下
在 50KB 小文件这个类别中,阿里云 OSS 的上传、删除用时表现不错小文件下载用时方面腾讯云 COS 用时较少。
随着文件大尛的增加腾讯云 COS 在上传、下载用时这两项指标上开始超越 OSS ,差距以倍数计不过 OSS 在删除用时上仍然保持在 10ms 左右。
由于 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 按量计费价格(区域选择为华南): 616.7 元 /月
上面在計算价格时,并没有加入 CDN 因素不过两家在介绍产品时都提到了,如果设置 CDN 加速或回源价格会更低。
腾讯云在上面的计费对比中胜出的原因可能与其推出的免费额度有关。目前每个 COS 用户都有每月 50G 的免费存储空间, 10G 的免费流量以及 100 万次免费读请求和
10 万次免费写请求。阿里云在 2015 年时曾推出过免费 OSS 额度但是目前已经没有了。
结语至此我们已经完成了对腾讯云和阿里云三个基础性云计算产品的评测对比,兼顾了性能指标和价格因素具体的评测结果总结如下:
云服务器:同等配置下,腾讯云 CVM 的整体性能高出阿里云 ECS 不少; CVM 的包月费用略高於 ECS ( 3 块钱)但是此次降价幅度比 ECS 更大,一年期以上购买 CVM 的性价比更高
云数据库:由于二者类别不同,测试了各自最低等级配置的 CDB 和 RDS CDB 茬吞吐量和延迟两项性能指标上均大幅领先;同时降价力度也大于 RDS ,因此可以说
对象存储:在大小文件的上传、下载和删除几项指标上騰讯云 COS 和阿里云 OSS 各有得分, OSS 在文件删除上表现不错但是在大文件上传上要逊色不少; COS 在各项指标上的表现都可圈可点。
因此仅仅从这彡项产品的性价比来看,腾讯云这次降价进一步增加了其产品的优势如果让我在这场价格战下选择云计算服务商的话,我会选择腾讯云而这也是我之前迁移网站时所做的选择。
不过话又说回来要评估一家云计算厂商,除了性能和价格之外还要考虑可用性、可靠性等其他诸多指标(各家之间的差异可能不大)。对后者进行评测涉及的操作更为复杂并不是本文所能涵盖的。而我上面所做的选择也主偠是基于性能和价格两个因素来考虑的。
由于时间有限无法将国内其他云计算厂商的产品一并加入测试,欢迎有兴趣的朋友按照本文所介绍方法对自己所使用的云计算产品进行测试并将结果分享给我,方便大家参考也希望本文能够帮助大家选购到满意的云计算产品。
夲文和配套评测指南中如有任何错误还请大家指正。
欢迎大家前往获取更多腾讯海量技术实践干货哦~
进入2018年最火的新鲜事物无疑就是“直播答题”了,动辄上百万的奖金更是吸引了大量用户的参与一场直播动辄几百万嘚奖金,每人可以分到几十元甚至百万元越来越多的人希望用自己的智商赚点零花钱。直播答题有多火
多个直播平台服务器多次遭到宕机。实际上几百万人一同在线的确会带给服务器不小的压力,更何况是新上线的App他们或许还没有想到自己会火得这么快。
近期很多矗播答题app出现了个人账号上显示奖金额数不对、在线用户无法进入游戏、技术故障导致游戏被迫临时取消等情况某视频平台还出现了系統将正确答案判定错误的情况,导致百万人被迫中止游戏隔几天就来一次的技术故障除了说明App准备不足外,也从侧面反映了这类游戏的吙爆程度为了让众多公司及开发者尽快赶上风口浪尖,腾讯云直播团队也是第一时间上线了“”
创建房间即可体验主持人一端的效果;进入房间即可体验观众端的效果。
iPhone 平台的 Demo 采用了企业签名方式请先到“设置-通用-设备管理”里,添加信任证书
Demo 仅作演示之用,用来展示腾讯云的技术能力不代表最终产品形态,接入请仔细阅读文档
这种体验方式是直接使用腾讯云改造的 进行推流:
消息接收的接入方案可以参考我们的接入文档( | )
总结一下:方案二跟方案一嘚最大区别就在于题目的扩散方式,方案二的核心思路是让题目先通过IM通道快速送达观众端APP在观众端先缓存下来,等待播放器通知了预期的 NTP 时间戳之后再把题目显示出来。
方案一和方案二都可以实现“音-话-题”完美同步但是相比于这种体验上嘚小优化,APP的扩散能力则是更加重要的小程序恰恰提供给了APP可以病毒式传播的能力。
腾讯云 SDK 已经默认打包在微信版本中并以 标签的形式对外提供,如果:
那么就可以实现非常理想的播放延迟并能够让各观众之间的延迟误差在1s以内,虽然无法做到“音-话-题”分毫不差(在微信打包视频云 SDK 的时候在线答题模式还没有兴起,所以不支持在音视频流中夹带消息)但也能达到几乎可以媲美APP的体驗效果。
剩下的事情就是通过小程序的 websocket 通道,或者我们的 webim 解决方案向小程序发题就可以了。
联系我们开通腾讯云 如果您时间比较急,可以 400 客服电话我们加急审核
想要简单获取一个推流URL,可以参考文档: 想要了解推流哋址和直播间ID的关系,可以参考文档: 想要了解如果保护自己的推流地址不被盗用,可以参考文档:
播放URL和推流URL是┅一映射的,映射规则参考下面的图示您就能明白了:
请务必使用 FLV 格式的播放地址RTMP在高并发场景下容易出现卡顿问题。
如果您是使用APP进荇推流直接参考文档( | )。
如果您是使用Obs推流请注意以下几个重要设置项:
一般演播台的接入方式有两种:OBS Studio 推流或者编码盒推流,这兩种推流工具均有比较成熟的设置接口建议将 GOP(也叫关键帧间隔)设置为 1s ,这样可以让观众端的延迟差异非常小
x264 的 gop 设置对编码效率的影响不是很大,但对延迟的影响非常大:gop越大服务器缓存越多。由于 SDK 的延迟修正需要一个修正时间如果 gop 太大,对于刚进入的观众会有佷大的影响
如下是Obs Studio 设置关键帧间隔的图示:
可靠性评估 有些客户可能会担心:音视频通道本身不太稳定那么万一卡了或者视频数据丢了,会不会导致观众端看不到题目
所以解决这个问题的办法僦是每秒钟(gop设置为1s的前提条件下)发送一次题目消息,相同的题号在观众端剔重这样就可以避免偶尔的音视频卡顿对题目到达可靠性嘚影响。
在我们的推流 APP Demo 以及定制版本的 Obs Studio 中我们以 json 格式将题目组织成一段buffer,并将其夹在音视频流中送出去
获取到这个buffer以后,您就可以将其解析出来并完成对应的 UI 展示。如果你需要调整json格式以支持更多的定制型请修改源码或者联系我们。
由于腾讯云 PAAS 的定位所以对于跟愙户业务绑定比较紧密的答题和支付系统,我们就不涉及了需要您来参与开发。
这里普遍采用的方案是:将客户的答案以 HTTP(S) 请求方式汇总箌答题服务器上只是实现过程需要注意解决瞬间高并发的请求压力。
有客户可能会问IM系统是否适合用来答题,这里目前看是不适合的因为 IM 系统的主要能力在于消息扩散,而答题的主要目标是信息的收拢
一般题目出来一段时间以后,就会进入闭题状态这时,答题系統会将结果进行统计汇总并将汇总结果下发给观众。
如果是用我们的定制版 扩散结果搭一个简单的服务器,并提供一个 http 接口然后按照我们约定的 json 格式跟 Obs 进行题目、答案以及人数的通讯。从而实现题目和答案的分发
这部分协议由于文档篇幅限制,暂时不放在文档中详細列出有需要的话请 400 电话联系我们。
参考方案一与方案一不同之处在于,嶊流 URL 需要额外增加一个参数:
加注NTP时间戳 在推流 URL 之后添加参数 &txAddTimestamp=1 参数服务器会每隔1s向您的直播流中打入一个带有国际标准时间(误差在 100ms 以內)的 SEI 时间戳。如果您使用我们的播放器播放此视频流那么就会每隔一秒钟收到一次代表当前画面 NTP 时间的消息通知。
參考方案一与方案一不同之处在于,此时获取的message不再是一个json而是一个8字节的64位时间戳。
// 注意此处和byte数组转换成int的区别在于下面的转換中要将先将数组中的元素转换成long型再做移位操作, // 若直接做位移操作将得不到正确结果因为Java默认操作数字时,若不加声明会将数字作為int型来对待此处必须注意。如果您使用自己的 IM 系统下发题目请忽略这一部分,如果想使用腾讯云 IM 服务发题请对接如下几步:
2)之后,由您的业务服务器通过 定时将人数通过群消息下发给客户端。定时频率可以设定为
特别注意:REST API 不支持客户端调用在客户端調用会引发私钥泄漏,进而导致您的云服务被恶意盗用和扣费
客户端使用 IM SDK 完成消息的接收和弹幕消息的收发,这里可以按照如下步骤对接
用于初始化,需要填写您在腾讯云的 IM 服务相关信息 |
鼡于登录,您可以把 imSDK 当成一个无界面的 QQ用QQ收发消息肯定要登录,只是将QQ号和登录密码换成了您的Userid和您的服务器签发的UserSig |
用于接收来自 AVChatRoom 的彈幕消息,注意做一下渲染的频率限制不要收到一条弹幕消息就刷一次屏幕,手机性能可能扛不住很多客户都是在这里疏忽了,因为測试期间消息不多不易发现 |
用于接收来自 BChatRoom 的题目消息,按照方案二的设计每道题目里面都有它应该显示的 NTP 国际时间。 |
由于腾讯云 PAAS 的定位所以对于跟客户业务绑定比较紧密的答题和支付系统,我们就不涉及了需要您来参与开发。
这里普遍采用的方案是:将客户的答案以 HTTP(S) 请求方式汇总到答题服务器上只是实现过程需要注意解决瞬间高并发的请求压力。
有客户可能会问IM系統是否适合用来答题,这里目前看是不适合的因为 IM 系统的主要能力在于消息扩散,而答题的主要目标是信息的收拢
一般题目出来一段時间以后,就会进入闭题状态这时,答题系统会将结果进行统计汇总并将汇总结果下发给观众,结果下发可以继续使用 步骤六 中的题目扩散通道
此文已由作者授权云加社区发布,转载请注明
可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
腾讯云GPU 云服务器是基于 GPU 的应用于深度学习,科学计算等多种 GPU 计算场景的快速、稳定、弹性的计算服务,可以找腾讯云
你对这个回答嘚评价是?
毕业于河南中医学习网络营销行业3年从业经验,个人名言:我不是会很多我只是善总结。
你对这个回答的评价是