我们用4行代码节省了100万 相见恨晚的PCDN

简介: 我们公司主要做视频在线点播,还有少量视频下载。比较关心网络加速,首先就是价格,其次是首播时间、流畅率这几个核心性能指标。目前使用阿里云PCDN也有几个月了,整体结果是超预期、值得安利的。写这篇文章,希望能通过选型对比、接入过程、效果实现几个方面的真实感受,给还在犹豫的同行们一些启发,希望文章内容对你们有所帮助。

我们公司主要做视频在线点播,还有少量视频下载。比较关心网络加速,首先就是价格,其次是首播时间、流畅率这几个核心性能指标。目前使用阿里云PCDN也有几个月了,整体结果是超预期、值得安利的。写这篇文章,希望能通过选型对比、接入过程、效果实现几个方面的真实感受,给还在犹豫的同行们一些启发,希望文章内容对你们有所帮助。

废话少说,先直接说效果:每月的CDN费用比以前少了近50%,首播时间、流畅率略优于使用中的2家CDN。这个结果真是让人喜大普奔,原以为PCDN价格比CDN低这么多,性能会不好,没想到这货不仅价格低,性能比CDN还只好不差,一年能给老板省将近100万,妈妈再也不用担心我的年终奖啦。这个羊毛究竟该怎么薅,请听我一一道来。


先说选型阶段,是什么原因让我们选择了阿里云PCDN?

上半年公司花大力气推广,我们的视频点播业务量增长挺快。业务量大了,不仅带宽成本有压力,我们也同样压力山大,怕产品服务不稳定,怕出各种问题。于是乎,我们一方面找目前使用的CDN公司申请价格折扣,申请服务质量保障;另一方面,也在不断寻找其他质优价廉的CDN产品。

现在CDN各家公司竞争也很激烈,基本都能爽快的给一定的折扣,但价格还是不够理想。找来找去,最后目光落在了P2P上。但深入了解之后,问题来了。要使用P2P CDN,各家都是要在客户端上集成SDK,SDK集成难度、SDK大小、SDK出bug后是否影响到主APP等各类因素都会可能造成影响。另外,从P2P原理上看,要有一定的P2P分享率,可能需要在终端上传流量。我们的视频点播业务在OTT盒子和移动端上都有,一旦在终端上传流量,不仅会占用带宽影响用户体验,而且还要在终端划一块存储空间用于缓存内容,频繁读写T卡/ROM也将影响到终端的寿命。这些问题对我们都很致命,如果这些问题真的存在,即使P2P CDN成本低,我们也没法使用。

我们了解了四家P2P CDN的资料,排除了终端上传的、SDK太大的、业务刚起步的、没有典型点播领域客户案例的几家。最终将目光锁定在阿里云PCDN产品上,优酷全站都在用PCDN,用户体量足够大,并且SDK可以远程升级。我们决定先测试看看效果。


随之而来的就是非常关键的一步—— 接入,这是最能考验服务质量和易用性的一步了。

首先在阿里云官网找到PCDN产品,申请开通。PCDN开通后,还要提供阿里云CDN域名和url给他们后台,说是要匹配规则,然后就把SDK和对接文档发给我们了。阿里云的人专门拉了钉钉群来支持我们的SDK集成和测试,他们的产品技术同学都在里面,响应的还挺及时,碰到问题都能很快解决,这要赞一个。

他们的SDK整体还比较简单,就三个接口:启动、停止和地址转换。SDK对接照着他们给的文档进行就可以了,APP的业务逻辑也不需要更改。从开始对接到集成成功,一共就花了不到一个小时,我数了数,总共也就4行核心代码,这有点颠覆我以前对SDK集成的认知,没想到这么简单。给你们看看我是怎么做到的吧。

和大多数SDK一样,启动APP时启动SDK,传入阿里云分配给我们的token,这样就把PCDN服务启动起来了。

pcdn_1

需要播放视频时,播放器拿到云端提供的播放url地址后,增加一步调用SDK获取PCDN播放地址,然后使用PCDN提供的本地地址播放即可。
pcdn_2

最后再退出应用程序时停止PCDN服务即可。
pcdn_3

我们在APP上做了埋点监测,比对了首播时间、流畅度等指标,PCDN的指标略优于我们使用的CDN,这些关键指标测试下来,效果还是比较满意的。另外,阿里云PCDN有两点是超出了我们预期的。

第一个就是PCDN支持下载限速,我们大部分的业务是点播,有少部分的视频是要下载的,下载都是后台进行,要求下载的同时还能够流畅的播放视频,同时也希望尽量限制在带宽高峰期下载的速度。这就要求对下载进行限速了,还好阿里云PCDN已经支持了下载限速这个功能,下载速度可以由我们灵活控制,这个功能很好的解决了我们的问题。

第二个就是解决视频被劫持的问题。之前时不时有用户反映视频没法播放,经过分析基本都是域名被运营商劫持造成的,这种情况尤其在一些小地方小运营商中出现,比较头疼。给我们提供服务的CDN公司也能解决域名劫持的问题,但需要在APP上集成SDK,我们是不大愿意单纯为了这一个功能去集成SDK的。刚好阿里云PCDN SDK自带了HTTPDNS功能,保证了域名解析的正确性,避免域名被劫持的情况,并且HTTPDNS还免费给我们用,简直太方便太贴心了有木有。


成功接入后,我们就要看看效果了,毕竟老板们对数字指标是相当关心啊。

我们内部测试验证了一周左右。从测试情况看,产品稳定性不错,各方面性能指标也都达到了要求。但这毕竟只是实验室几个测试同学的测试,要真正反映产品表现,还是要大量数据来说话。阿里云PCDN的同学建议我们控制渠道灰度发布,有较多的用户使用才会体现出P2P效果来。经过跟老板商量,我们挑了个渠道,灰度发布了版本。几个小时后,就有几千的安装量,几千个用户对于验证PCDN效果也足够了。

接着又是一周时间,我们持续观察了各方面的数据,首播时间跟CDN不相上下,流畅度方面,使用CDN时流畅度98%左右,使用PCDN时流畅度98.5%左右,下载稳定性和完成率也符合要求,整体的表现还是很不错的。老板看到测试数据比较满意,同时,阿里云PCDN的同学对我们的问题的响应和支持都比较及时,老板果断决定正式上线PCDN产品,在各个渠道逐步全量发布。

现在,我们使用PCDN有几个月时间了,新版本的覆盖率已经很高了。产品还是很稳定的,即使偶尔有问题也能很快得到解决,这是我们非常看重的一点,省了很多麻烦。虽然业务增长,带宽量也在增长。但使用PCDN后,每月的带宽支出却实实在在的省了不少。照这个情况看,每年就能省将近100万的带宽费用了。而这所有的一切,只是花了不到一个小时集成阿里云PCDN SDK,增加了4行核心代码带来的成果,真是相见恨晚。

总结下整体的感受:接口简单服务给力,测试性能稳定优秀,阿里云有这么大的羊毛,不赶紧来薅,还等什么呢?

相关文章
|
7月前
|
存储 监控 对象存储
阿里云OSS除了价格降70%,关于对象存储预留空间你必须知道的
阿里云OSS除了价格降70%,关于对象存储预留空间你必须知道的,对象存储OSS预留空间是什么?预留空间是指定地域的,仅可抵扣该地域“标准存储 - 本地冗余”的OSS存储费用,不支持非存储容量费用抵扣,付费周期一年,阿里云对象存储推出全新预留空间产品(Reserved Capacity),客户购买一年的预留空间,较按量付费,最高可节省70%的费用。还有无地域属性预留空间
231 0
|
7月前
|
存储 监控 对象存储
阿里云OSS预留空间是什么?
阿里云OSS预留空间是什么?对象存储OSS预留空间是什么?预留空间是指定地域的,仅可抵扣该地域“标准存储 - 本地冗余”的OSS存储费用,不支持非存储容量费用抵扣,付费周期一年,阿里云对象存储推出全新预留空间产品(Reserved Capacity),客户购买一年的预留空间,较按量付费,最高可节省70%的费用。还有无地域属性预留空间
542 0
|
7月前
|
存储 监控 对象存储
阿里云OSS预留空间价格及优势说明
阿里云OSS预留空间价格及优势说明,对象存储OSS预留空间是什么?预留空间是指定地域的,仅可抵扣该地域“标准存储 - 本地冗余”的OSS存储费用,不支持非存储容量费用抵扣,付费周期一年,阿里云对象存储推出全新预留空间产品(Reserved Capacity),客户购买一年的预留空间,较按量付费,最高可节省70%的费用。还有无地域属性预留空间
130 0
|
7月前
|
存储 监控 对象存储
阿里云OSS预留空间全新发布 存储成本最高降低70%
阿里云OSS预留空间全新发布 存储成本最高降低70%,对象存储OSS预留空间是什么?预留空间是指定地域的,仅可抵扣该地域“标准存储 - 本地冗余”的OSS存储费用,不支持非存储容量费用抵扣,付费周期一年,阿里云对象存储推出全新预留空间产品(Reserved Capacity),客户购买一年的预留空间,较按量付费,最高可节省70%的费用。还有无地域属性预留空间
141 0
|
网络协议 测试技术 应用服务中间件
DCDN IPA TOA 测试最佳实践
## IPA TOA 的使用背景: TOA 模块是为了让后端的 realserver 能够看到真实的 clientip 而不是负载均衡器或者 proxy 的代理 ip; 阿里云的全站加速产品天然的支持 TOA 的透明转发,且性能测试满足企业高并发访问性能,接下来看下如何进行 toa 使用。 ### 1、安装 aliyun toa 支持 opcode=28/254 https://github.c
1163 0
DCDN IPA TOA 测试最佳实践
|
存储 安全 API
对象存储(OSS)按桶(bucket)成本分摊
OSS 服务费用由存储费用、流量费用、请求费用、数据处理费用、对象标签费用、传输加速费用组成。如何把成本分摊到每个桶(bucket)级别?比如不同人(比如标签 owner:luoxiaomeng)/部门(比如标签 bu:aliyun)来分摊桶的费用,统计出同一个部门使用多个桶的总费用,以及不同部门费用分布情况。
5102 0
对象存储(OSS)按桶(bucket)成本分摊
|
JSON 对象存储 数据格式
【OSS 排查方案-13 postobject】
EntityTooLarge 出现这种问题基本是客户端的 post 代码中限制的请求的 body 大小,排查这种问题最好是通过抓包,或者构造 post 源码上看下。当你的 bucket 不是 public-read-write 时,需要客户端的 post 代码中提供 post policy ,这这属性中,有关于 content-length-range 的设置,不注意的话这个地方基础设置都是 10M,建议检查下这个地方。
【OSS 排查方案-13 postobject】
|
CDN 弹性计算 API
标记(TAG)您的 CDN 资源——域名(domain)
为了方便管理阿里云 CDN 资源——域名(domain) ,您可以选择通过标签的形式为每个资源分配您自己的元数据。本主题介绍标签并说明如何创建标签
2450 0
标记(TAG)您的 CDN 资源——域名(domain)
|
开发工具 对象存储 弹性计算
标记(TAG)您的OSS资源
为了方便管理阿里云 OSS 资源——存储空间(Bucket) ,您可以选择通过标签的形式为每个资源分配您自己的元数据。本主题介绍标签并说明如何创建标签。
2479 0
标记(TAG)您的OSS资源
|
算法 调度 CDN
基于PCDN技术的无延时直播方案
2018亚太CDN峰会在北京隆重召开,在4月12日上午的运营商论坛中,阿里云边缘计算团队高级技术专家张士波进行了《基于PCDN技术的无延时直播方案》的主题演讲。本文为演讲内容。当大家谈到直播,一般很惊讶于直播近几年来发展的规模,尤其是2016到2017年直播用户增长速度达到了22.6%,用户的总体规模已经达到了4.2亿,营收方面达到了人民币300亿以上,发展趋势是非常喜人的。
4746 0
基于PCDN技术的无延时直播方案