腾讯大数据平台质量保障之道

标签: 技术 腾讯 | 发表时间:2014-11-16 14:56 | 作者:标点符
出处:http://www.biaodianfu.com

大数据时代,业界各巨头都在投入重兵打造自己的大数据平台,分析挖掘蕴藏在数据金矿中的价值。在腾讯数据平台部承建了公司级大数据平台,腾讯的测试团队也有幸一起搭上了大数据的航母。这是一种机遇,更是一种挑战。因为大数据平台的技术复杂度、机器规模、容量、发展速度等都远非传统的后台系统可比,以前积累的测试方法和建设的工具平台很多并不适用于大数据测试,业界也没有很成熟的方法可以借鉴。这就需要腾讯在测试思路和方法上主动探索、大胆创新,过程中难免有弯路和挫折,但腾讯的成长和收获更多。

TDW 现网压测

TDW(Tencent distributed Data Warehouse):腾讯分布式数据仓库。TDW是整个数据处理最底层和核心的关键平台,基于Hadoop和Hive进行的大量优化、改造和重构,支持百PB级数据的离线存储和计算,为业务提供海量、高效、稳定的大数据平台支撑。目前TDW集群设备数已超过8000台,总存储量超过100PB,日均计算量超过6.5PB。目前已覆盖公司90%以上的业务产品(计费、即通、微信、广点通、罗盘APP、Qzone、多媒体、电商、游戏和无线等)。对于支撑如此海量大数据处理的核心分布式计算平台,质量保障面临非常大的挑战:

  • 开源Hadoop框架在8000+集群规模下,是否能稳定运行,业界没有先例。
  • 8000+规模的超大集群,能支持多大的计算能力,容量如何?
  • 依赖非常少量的测试机器,如何评估这些关键指标?

从测试角度综合分析这些挑战,腾讯大胆提出了直接在现网集群而不是测试机器进行压测的方案,解决了测试机器资源的问题。在测试数据、场景和任务方面,腾讯分析后决定直接采用现网真实的海量数据和任务,而不是自己构造。因为大数据处理平台的一个特点就是数据和任务的多样性,各BG、各产品的数据和任务都是各不相同的,而且是在快速的变化中,用传统的测试手段不可能仿真构造,把现网资源为我所用是更有效的方法。当然,只是胆大还不行,还要充分考虑这里面可能带来的风险,不能蛮干。如果因为测试目的,而损坏用户数据,影响用户报表,造成事故那就得不偿失了。所以,腾讯也采取了相应的规避保障措施:

  • 权限隔离:为测试业务流单独创建权限,可严格保证测试操作对现网用户数据不造成破坏;同时测试权限分配相应的测试资源,对现网同等优先级业务不造成资源竞争影响。通常情况下腾讯还会将测试的优先级设置为低于现网应用优先级,让现网应用优先获得资源跑完。而且这并不影响测试的效果。
  • 结果数据隔离:现网结果数据分布在整个大集群各个目录或者各个库表下;为了对测试结果集中管理,测试结果数据都放在单独的目录与库下存放,保证了现网用户数据安全性、完整性。同时对测试帐号授权更加简单,结果对比实现更加方便,环境清理更加简单。
  • 时段选取:大集群的现网运行,有它自己的规律,现网测试的时间,腾讯一般选取现网压力不大的中午到下午时间段进行。这段时间重要业务已经跑完,而且压力不大,可以跑更多的测试业务,在加上前面的两条措施以及监控和及时处理,可以将风险控制在腾讯允许的范围内。

通过权限和数据的隔离,以及时段的选取,腾讯从技术上做到了敢于在现网大集群上开展测试。

tdw

在TDW集群从几百台到2000台到4000台到8000+的不断规模扩大、架构优化中,现网压测起到了非常重要的作用,这套方法,腾讯也在不断完善和优化,像海量数据的一致性对比等都已取得了不错的效果。

TRC 现网引流

TRC(Tencent Real-time Computing):腾讯实时计算平台。做为海量数据处理的另一利器,专门为对时延敏感的业务提供海量数据实时处理服务,包括实时采集、实时计算、实时推荐。TRC是基于开源的Storm深度定制的流式处理引擎,用Java重写了Storm的核心代码。目前,TRC日计算次数超过2万亿次,很多产品已经在实际使用TRC平台提供的实时数据处理服务。跟TDW的离线存储和计算不同,TRC做为一个实时平台,对测试团队的挑战也是不一样的:

  • 实时处理的特点,决定了腾讯不能像离线平台那样直接在现网集群开展测试。
  • 海量实时业务数据流的复杂多样性,决定了腾讯同样不能采用传统的数据构造方法。
  • 做为大数据的核心平台之一,性能稳定性的评估非常重要,需要7×24小时提供服务的能力。

不用的平台,不同的特点,不同的挑战,腾讯也采取了不同的测试方法。既然不能在现网集群开展测试,也无法模拟复杂多样的数据流,那腾讯就直接把现网的数据流引一部分出来,导入腾讯的测试集群。监控在测试集群的性能稳定性表现,以及各项业务指标的变化,来发现平台可能存在的问题和风险。

trc

架构图中可以看到,腾讯的测试集群是有AB两套,A环境上部署了跟现网完全一致的版本,而B环境上部署的是腾讯的待测版本。腾讯通过AB两套环境在同样数据流下的各项指标的表现以及具体计算结果的对比,不但可以发现性能稳定性的变化,还可以做到对结果的功能性验证。

经过持续优化的TRC现网引流平台,目前已可以做到针对每个业务、每个指标的AB Test,TRC全流程中每个模块的每次改动,只要影响到了某个业务流的某个指标,腾讯都可以通过平台快速及时发现。

之所以不直接跟现网大集群对比,主要原因是测试集群机器规模远小于现网,将来也不可能跟现网一样,那样成本太高了。所以,测试集群不可能把现网流量全部导入,而只能导入一小部分。这样,腾讯的变通办法就是AB两套环境的对比,A环境可以认为是现网的精简缩小版。

这套现网引流的框架,解决了腾讯在实时数据处理平台测试中用传统手段很难解决的困难,在几个重大版本测试中发挥了关键作用。经过工具平台化之后,已是腾讯大数据测试的利器之一。

Libra 实验平台

在大数据时代的变现法则中,广告推荐无疑是已被证明最有效最直接的方式。基于海量数据实时处理,及时收集用户兴趣,及时反馈到推荐算法上,给用户推荐最感兴趣的广告。数平构建了一整套海量实时的广告推荐解决方案,帮助业务提升广告的投放效果。

除了平台的海量处理能力之外,推荐平台的核心就是推荐算法,推荐算法的好坏,直接决定了投放广告的点击率,而这是评价一个推荐系统好坏的最重要指标。做为测试团队来说,如何测试一个算法的好坏,其实是非常有挑战性的一项工作。因为,几亿的互联网用户,各种地域、各种年龄段、各种职业、各种兴趣爱好,可以说是五花八门纷繁芜杂。一个测试人员,仅凭自己的喜好,只能代表非常非常小的一批用户群,而且已了解推荐算法情况下的点击已经失去了客观性。最终互联网用户整体的广告点击率,测试人员是没有办法判断和评估的,而这又是整个推荐团队最关心的事情。这就产生了直接的矛盾:业务团队最关注的指标,测试团队给不出来!针对这个问题,测试团队内部也有多次激烈的讨论。测试团队要不要支撑算法测试?做算法测试吧,你又拿不出最关键的结果;不做吧,这又是业务团队最关心的,同时也是测试团队的缺失。

经过跟业务团队的多次沟通,算法测试方面,腾讯也逐渐有了自己的方案和思路。那就是直接用真实的互联网用户来帮腾讯,他们在完全不知情的情况下,最自然的点击也是最真实有效的。而这个,正是腾讯最想知道的。

具体来说,就是测试团队跟业务中心合作,在推荐系统前端增加一个路由染色模块,这个路由染色模块可以通过腾讯的测试管理台来控制,实现了按广告位、号段的后台打点分流,让按腾讯的需要挑选出的一批真实的互联网用户走到腾讯新的待验证的推荐算法上,同时,利用TRC实时计算平台统计实验效果数据,实时呈现待测新推荐算法的实际点击情况。

libra

Libra实验平台同时支持整个实验生命 周期的管理,以及算法得到验证之后在现网的灰度放量。支持同时开展多个试验,实时展现实验效果。

libra-show

通过Libra实验平台。弥补了测试团队在算法测试方面的空白,同时为业务团队提供了最有价值的数据指标。

参考链接:http://code.csdn.net/news/2820317

相关 [腾讯 大数据 平台] 推荐:

腾讯大数据平台质量保障之道

- - 标点符
大数据时代,业界各巨头都在投入重兵打造自己的大数据平台,分析挖掘蕴藏在数据金矿中的价值. 在腾讯数据平台部承建了公司级大数据平台,腾讯的测试团队也有幸一起搭上了大数据的航母. 因为大数据平台的技术复杂度、机器规模、容量、发展速度等都远非传统的后台系统可比,以前积累的测试方法和建设的工具平台很多并不适用于大数据测试,业界也没有很成熟的方法可以借鉴.

腾讯陈军:腾讯云平台与技术实践分享

- Sepher - 服务器运维与网站架构|Linux运维|互联网研究
[第三届中国云计算大会]2011年最受瞩目的IT业界盛会——第三届中国云计算大会于2011年5月18-20日在北京国家会议中心隆重举行. 本次大会由中国电子学会主办,中国电子学会云计算专家委员会、中国云计算技术与产业联盟承办,CSDN网站、《程序员》杂志和电子工业出版社协办. 5月20日,在第三节云计算大会分论坛二“云计算平台与应用实践”中,腾讯网络平台部技术总监陈军带来了主题为《腾讯云平台与技术实践》精彩演讲.

腾讯推出QQ开放平台Q+

- Wuvist - Solidot
慕容鱼吐的新闻泡 写道 "腾讯推出QQ开放平台Q+,宣称促进开放互联网. 网站的视频显示,Qplus提供的功能是将腾讯制作的一些Widget直接在桌面运行,腾讯很可能将该功能捆绑进QQ客户端.

腾讯的广告和开放平台

- Frank - It Talks--上海魏武挥的博客
数字世界中有两个公认为最大的开放平台,其一为谷歌,其二为Facebook. 前者在公开的财报中显示,有97%的收入来自广告. 后者则在向高盛提供的文件中表示:大部分收入来自在线广告. 这两个平台有一个非常重要的类似特征:它们都是广告平台——请注意,我并不是说是媒体平台. 谷歌和Facebook自己并不创造内容,它们是真正的平台角色:让信息供给者、广告供给者、信息消费者在自己的服务中云集,从中获取收益.

腾讯首次公布微信数据(完整版)这才叫大数据!

- - 互联网分析沙龙
     在2015腾讯全球合作伙伴大会「互联网+微信」的分论坛上,微信官方第一次公开了微信用户数据.   60% 微信用户是年轻人(15 - 29 岁);.   年轻人平均有 128 个好友;工作后好友会增加 20%;.   58% 异地通话是年轻人;.   年轻人购物高峰是在早上的 10 点和晚上 10 点;.

腾讯与新浪微博开放平台之比较

- zeng - 36氪
编者按:本文由深圳乐荐网络科技有限公司联合创始人@邵宝麟 供稿,哥伦比亚大学计算机在读博士,2007年获得华中科技大学软件工程学士学位. 曾在印度Infosys SETLab和美国IBM T.J Watson研究中心进行关于“下一代高性能分布计算”的研究. 深圳乐荐网络是一家由美国名校辍学生、美国名校博士、成功创业者组成的创业公司,目前正在研发Web 3.0 时代的高性能推荐互联网产品,目前他们正在寻求人才,感兴趣加入的朋友可以联系@邵宝麟 或者@戴虎宁.

腾讯新电商平台首页曝光:名为“QQ网购”

- diaoxsh - cnBeta.COM
9月20日,来自腾讯内部的消息称,腾讯电商超级平台被命名为“QQ网购”,域名不是此前业内猜测的taotao.com,目前,腾讯选择了二级域名buy.qq.com. 与此同时,腾讯这一新电商平台的首页也流出.

腾讯电子商务平台QQ网购上线

- coofucoo - 月光博客
  备受瞩目的腾讯超级电商平台:QQ网购(buy.qq.com)正式公测,这是腾讯推出的一个大型的B2B2C的电子商务平台,预示着B2C电子商务平台的争夺战提前爆发. 据介绍,QQ网购包含了数码家电、运动鞋包、珠宝饰品、生活超市、美容美妆、潮流服饰等多个品类商品. 不过,目前QQ网购处于试营业期间,第一阶段面向广东省用户.

腾讯正式发布社会化营销平台

- - 互联网的那点事
4月24日,腾讯在北京正式发布其酝酿已久的社会化营销平台,该平台将为广告主提供更具时代前瞻性且高效率的数字营销服务解决方案. 腾讯高级执行副总裁、网络媒体业务系统总裁刘胜义表示,“腾讯社会化营销平台的上线,是腾讯社会化变革最主要的动作,是广告产品全面向社交化升级的最重要环节. 腾讯公司全国策划总经理翁诗雅表示,“腾讯社会化营销平台的发布,开启了国内社交网络的商业化实质性阶段.

腾讯社会化营销平台正式对外开放

- - MADBRIEF | 疯狂简报
继4月底腾讯宣布推出国内首个社会化营销平台之后,7月初,伴随腾讯网完成大数据时代的门户变革,腾讯再次发出大回响——社会化营销平台(http://snswin.qq.com/)开始正式对外开放. 社会化营销平台的全面开放,是腾讯社会化变革战略的有效落地实施,也为国内社交网络商业化的发展做了更有力的推动.