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

标签: 技术 腾讯 | 发表时间: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

相关 [腾讯 大数据 质量] 推荐:

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

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

2016 移动应用质量大数据报告

- - IT瘾-geek
2016年,在“互联网+”战略的推动下,移动互联网与越来越多传统行业的结合更加紧密,用户使用移动互联网的工作场景、生活场景、消费场景都在悄然发生着改变, 移动互联网产品在智能硬件、医疗、汽车、旅游、教育等市场也都在不断探索新的可能性. 开发者除了需要关注用户需求外,更需要重视产品质量与口碑,这将极大的影响用户对产品的评价及产品后续的传播力度.

一线券商教你如何保障大数据质量

- - IT瘾-dev
平安证券 大数据测试组负责人. 2014年加入平安证券,正值互联网金融潮流兴起,组织并参与大数据自动化以及监控体系的搭建、应用和优化. 熟悉券商核心业务,对数据有着浓厚的兴趣,并把相关的技术应用到数据质量上,不断地探索券商数据质量之路. 这两年对于大数据来讲,大家看到有很多产品出来,很多公司也在利用数据做些东西,包括现在的一些电影.

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

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

马化腾:云计算、AI和大数据,是腾讯愿意大力投入的三点

- - 钛媒体:网罗天下创新事
9月8日,腾讯董事会主席兼首席执行官马化腾在清华大学洞见论坛上发表演讲,谈及科技和商业的融合时表示,随着数字经济的发展,科技越来越融入到各行各业,在数字化和智能化的大浪潮里面,科技是我们所有产业界都必须要去关注的. 马化腾表示,有三点基础性的因素是腾讯正在大力投入的,分别是AI、云计算以及大数据. 他还强调,过去把用电量作为衡量一个工业社会发展的指标,未来,用云量也会成为衡量数字经济发展的重要指标.

谈大数据(2)

- - 人月神话的BLOG
对于大数据,后面会作为一个系列来谈,大数据涉及的方面特别多,包括主数据,数据中心和ODS,SOA,云计算,业务BI等很多方面的内容. 前面看到一个提法,即大数据会让我们更加关注业务方面的内容,而云平台则更多是技术层面的内容. 对于大数据会先把各个理解的关键点谈完了,再系统来看大数据的完整解决方案和体系化.

大数据之惑

- - 互联网分析
算起来,接触大数据、和互联网之外的客户谈大数据也有快2年了. 也该是时候整理下一些感受,和大家分享下我看到的国内大数据应用的一些困惑了. 云和大数据,应该是近几年IT炒的最热的两个话题了. 在我看来,这两者之间的不同就是: 云是做新的瓶,装旧的酒; 大数据是找合适的瓶,酿新的酒. 云说到底是一种基础架构的革命.

白话大数据

- - 互联网分析
这个时代,你在外面混,无论是技术还是产品还是运营还是商务,如果嘴里说不出“大数据”“云存储”“云计算”,真不好意思在同行面前抬头. 是千万级别的用户信息还是动辄XXXTB的数据量. 其实,大数据在我的眼里,不是一门技术,而是一种技能,从数据中去发现价值挖掘价值的技能. ”当我掷地有声用这句话开场时,正好一个妹子推门而入,听到这句话,微微一怔,低头坐下.

交通大数据

- - 人月神话的BLOG
本文简单谈下智慧交通场景下可能出现的大数据需求和具体应用价值. 对于公交线路规划和设计是一个大数据潜在的应用场景,传统的公交线路规划往往需要在前期投入大量的人力进行OD调查和数据收集. 特别是在公交卡普及后可以看到,对于OD流量数据完全可以从公交一卡通中采集到相关的交通流量和流向数据,包括同一张卡每天的行走路线和换乘次数等详细信息.

腾讯的内涵图

- keeno - 阿禅日记
2011年5月31日10:33,腾讯QQ 浏览器首页的截图如下:. 内涵关键词:释放、aiww、64. 1小时后,腾讯将图片替换掉了. 对这位如此有内涵的经理或编辑或设计师致敬. © Jason Ng for 阿禅日记, |. 不要用中国手机号来找回Gmail密码.