最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

开拓创新,为大数据平台保驾护航

[复制链接]
跳转到指定楼层
楼主
发表于 2014-12-3 22:04:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
引言:

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

        本文旨在介绍测试团队在大数据测试和平台建设方面的一些做法和经验,抛砖引玉,共同探讨。

TDW现网压测

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

        开源Hadoop框架在8000+集群规模下,是否能稳定运行,业界没有先例。

        8000+规模的超大集群,能支持多大的计算能力,容量如何?

        依赖非常少量的测试机器,如何评估这些关键指标?

        从测试角度综合分析这些挑战,我们大胆提出了直接在现网集群而不是测试机器进行压测的方案,解决了测试机器资源的问题。在测试数据、场景和任务方面,我们分析后决定直接采用现网真实的海量数据和任务,而不是自己构造。因为大数据处理平台的一个特点就是数据和任务的多样性,各BG、各产品的数据和任务都是各不相同的,而且是在快速的变化中,用传统的测试手段不可能仿真构造。把现网资源为我所用是更有效的方法。

        当然,只是胆大还不行,还要充分考虑这里面可能带来的风险,不能蛮干。如果因为测试目的,而损坏用户数据,影响用户报表,造成事故那就得不偿失了。所以,我们也采取了相应的规避保障措施:

        权限隔离:为测试业务流单独创建权限,可严格保证测试操作对现网用户数据不造成破坏;同时测试权限分配相应的测试资源,对现网同等优先级业务不造成资源竞争影响。通常情况下我们还会将测试的优先级设置为低于现网应用优先级,让现网应用优先获得资源跑完。而且这并不影响测试的效果。

        结果数据隔离:现网结果数据分布在整个大集群各个目录或者各个库表下;为了对测试结果集中管理,测试结果数据都放在单独的目录与库下存放,保证了现网用户数据安全性、完整性。同时对测试帐号授权更加简单,结果对比实现更加方便,环境清理更加简单。

        时段选取:大集群的现网运行,有它自己的规律,现网测试的时间,我们一般选取现网压力不大的中午到下午时间段进行。这段时间重要业务已经跑完,而且压力不大,可以跑更多的测试业务,在加上前面的两条措施以及监控和及时处理,可以将风险控制在我们允许的范围内。

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


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

TRC现网引流

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

        实时处理的特点,决定了我们不能像离线平台那样直接在现网集群开展测试。

        海量实时业务数据流的复杂多样性,决定了我们同样不能采用传统的数据构造方法。

        做为大数据的核心平台之一,性能稳定性的评估非常重要,需要7×24小时提供服务的能力。

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


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


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

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

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

Libra实验平台

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

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

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

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


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


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

结束语

        大数据时代,带来新的挑战,也给了我们学习和成长的机会。做为大数据测试团队,一方面深入理解新技术、新平台、新业务,另一方面,在测试技术上要摆脱固有的思维,灵活变通,大胆突破,勇于创新,才能真正成为大数据保驾护航的精英团队。我们还在路上!


楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-23 18:31

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表