阿里资深技术总监:基于大数据的全球电商系统性能优化

本文首先介绍AliExpress电商系统的理论基础,通过页面间跳出率的计算引出全栈优化的思路。然后,介绍AliExpress平台的设计思路和性能优化过程,以及AliExpress使用过的几个有效的优化策略:动态加速、静态化+ESI、元素合并请求、CDN调度优化等。最后,用实例展示了性能优化带来的结果,并对架构设计的过程提出了几点思考和总结。

1整个系统的理论基础

这张图代表流量分布和跳出率的关系。一个用户放弃使用一个网站或者APP的行为叫做跳出。上图中,横轴代表延迟区间,纵轴代表流量分布。绿色的曲线代表顾客来网站或者APP的流量分布,可以发现大部分流量分布在几百到一千毫秒,随着时间延迟的增加,跳出率变高。整个系统计算时,使用转化率公式:转化率=1-跳出率。在发生性能故障的时候,比如有少部分机器出现延迟大大增加的情况,我们会发现高速性能的流量会变少,有很长延时的流量会增加,跳去率也很快地爬升上去。这个过程表明,如果延迟越大,那么延迟跳出率会变得越来越高,即转化率变得越来越低。我们可以把虚线看作是优化前,实现看作是优化后,其中的部分就是优化得到的新的转化率。

我们做更深一步的讨论。上图中,红色代表转化率,蓝色代表性能区间的分布。假设我们把性能从a秒压缩到3秒时,转化率的回报是图中绿色的部分。这些回报是怎么得到的?随着延迟越大,转化率越低,由于回报是单调减的函数,所以压缩之后得到的回报就是图中绿色的部分。如果我们知道压缩的时间,我们就可以预测出单个页面上得到的回报,这个回报称为Performance Loss。

接下来,我们进行从A页面到B页面的理论跳出率的计算。如上图所示,A是一个页面,0、1、2、3是它的前序页面,end代表跳出页面。我们发现,出口的跳出率=经过补偿后的所有跳出率-自然跳出率。其中,自然跳出率是指自己因为对商品内容不满意、评价不满意而产生的自然跳出。

在此基础上,我们可以将其推广到所有页面。一个大的网站可能有数百个页面,比如上图中的两条链路:搜索——详情——订单;商铺——商铺详情——订单。在这种关系下,如果我们把每条链路的跳出率算出来,其实我们就得到了每条链路的理论最大流量,这样我们就知道了最终页面的最大流量。这其实就是一个全栈性能损耗的过程,我们可以知道每个细小的过程对全局的贡献。这对于优化方案的制定非常重要。在做优化方案的时候,我们可以选择一个页面做尝试,准确度量一个页面的回报,这样就可以明确知道一种优化方案对整个系统的贡献,即本次优化对电商系统的订单回报量。

2平台设计

平台是独立于业务领域的。针对不同的业务领域,有不同的优化方案,显示在图中左下部分。平台的功能是:把当前的性能变得可视化;实时度量目前的性能水平;对全链路做一个性能的监控;所有的领域都可以接到这个平台上;做一个全量的度量。平台其实就是将性能优化的回报变成一个可度量的、非常容易看到的结果。在整个试验的过程中,数据是不断积累的,数据会带来准确的度量结果,度量结果则决定是否将优化在全栈进行推广。

3性能优化过程

首先,应该有很多业务模块来收集用户的行为数据(请求时间、建联时间等),然后数据经过采集系统进行处理。处理完的数据有两种分析方式:离线分析、实时分析,区别在于离线的处理量比较大一些。分析的结果都会存在一个业务数据库中,最终会送到cache layer中做追溯和同比。后端会支持很多不同的应用场景,比如报警、监控、报表。

4优化实施

其实,世界上在DNS层、网络层、CDN层、业内沉淀有很多优化方案。这些优化方案什么最有效呢?下面列举几个使用过的有效的优化方案:

  • 动态加速

优化前,用户的动态请求都在源站,请求链路是:用户——运营商——源站。全世界都要去源站拿数据,这样的请求链路会非常长,过程相当耗时。

优化后,尽量把动态数据推到边缘节点,这些边缘节点不需要去源站进行请求,只需直接在边缘节点做请求。另外一个优化:请求既可以是同步的,也可以是异步的,可以同时并行请求多个页面内的元素。整体的动态回源的过程是对内容的动态加速。另外一个动态加速的做法是,如果需要回源的话,把这个回源网络的最优化路径交给CDN来决定,CDN会帮助找到目前一条最优的链路来回源。动态加速其实是一系列的优化方案,比如包括内容压缩等。整个过程中也有不少的技术挑战:电商需要知道用户的真实IP;源站防止攻击要做请求拦截等等。

  • 静态化+ESI

用户把内容放到边缘节点上,到了机房内其实也是做一个缓存:如果是动态内容则直接回源到数据库,如果是静态的不命中的内容则通过业务逻辑回源到数据库。请求链路一般是“读链路”,“写链路”会变更db,db被变更消息的消费者消费之后通过业务逻辑更新存入缓存,是缓存内的信息总是最新的。这样的过程相当于用户如果能直接hit到边缘节点就返回(大多数最优的情况),不是最优的情况会hit到缓存层再返回。

  • 元素请求合并

一个页面中会有很多的子元素,如果单独去请求,则每个请求都是回源的调用,那么每个请求都会占用很多时间(包括TCP建联时间等)。元素请求合并就是指把所有的请求合并成一个,统一提供到服务方,然后服务端再将这些请求分发,然后再统一合并再返回。

  • CDN调度优化

AliExpress在全球的各个国家都有相当多的用户,在巴西是第二大的电商网站,巴西用户可以请求美国的边缘节点,也可以请求巴西的边缘节点。经过测试,巴西用户请求巴西的边缘节点的相对耗时要少一些,可以认为是4个单位,请求美国节点耗时5个单位,但是请求地理位置离巴西近的阿根廷节点需要耗时7个节点。所以得出结论:不能单纯从地理位置来估计请求节点的耗时,以此为基础可以优化CDN调度。

 

5业务结果

 

上述理论的分析,平台的搭建,业务的优化,带来了:整套系统的分析能力提升;过去的优化直接为整个网站带来5.07%的订单;性能损耗明显下降;购买力增强。

 

6架构思考总结

 

  • 这套系统给大家带来的最大价值是:在做这套架构设计的过程中是不是能有新的创新?通过这个创新能否带来业务价值?
  • 把技术变民主,每个有想法的人都可以去尝试优化,每个人都可以做贡献。
  • 所有做的事情能不能量化?能不能做比较?不同的人对性能优化的贡献都应该能准确度量,这样可以把一个人的力量放大到整个团队的力量。
  • 怎么一步一步赢得这个团队的信任?

作者介绍  郭东白

  • 阿里巴巴AliExpress(速卖通)技术部总监,16年大型软件系统研发和架构经验,对跨大洲、高可用、高流量服务端软件架构和研发有深入研究。


时间: 2024-10-25 16:29:38

阿里资深技术总监:基于大数据的全球电商系统性能优化的相关文章

【阿里在线技术峰会】郭东白:基于大数据的全球电商系统性能优化

本文根据郭东白在首届阿里巴巴在线技术峰会上的分享整理而成.他首先介绍了AliExpress电商系统的理论基础,通过页面间跳出率的计算引出了全栈优化的思路.然后,他介绍了AliExpress平台的设计思路和性能优化过程.紧接着,他分享了AliExpress使用过的几个有效的优化策略:动态加速.静态化+ESI.元素合并请求.CDN调度优化等.最后,他用实例展示了性能优化带来的结果,并对架构设计的过程提出了几点思考和总结. 直播视频:点此进入 PDF下载:点此进入 以下为整理内容. 整个系统的理论基础

新一代SOC技术:基于大数据的信息安全

文章讲的是新一代SOC技术:基于大数据的信息安全,2015年6月11日,以"大数据.新视角.智享安全"为主题的新一代SOC技术研讨会在北京举行.来自金融.制造等行业的近百名嘉宾及大数据领域的专家等出席了该活动. 会上,关于在大数据时代企业如何应用新一代SOC技术进行安全事件管理成为了话题焦点.北京华青融天技术有限责任公司(简称华青融天)作为业界领先的基于大数据技术的IT运维.安全.交易监控解决方案提供商,以"大数据.新视角.智享安全"为主题,从大数据技术在安全领域的

Teradata技术总监:大数据已成为主流

本文讲的是Teradata技术总监:大数据已成为主流,"大数据"刚出现的时候,基本上只会用在高端科技类或者硅谷网络分析公司中;到了今天,如银行.电信.保险公司等更为传统的行业也逐渐搭上了这辆"列车".然而,在Teradata(数据仓库公司)技术总监Stephen Brobst(宝立明)看来,这还仅仅是个开始. 2012年,许多IT业内人士都发起了关于大数据的讨论,宝立明就是其中之一.在今年TechTarget对他的采访中,他两次提到了他眼中的大数据热潮.在以下的精选

锋芒初露 大数据如何驱动电商大机遇?

今日之电商诸侯争霸,可谓火药味甚浓,更推进着产业前进步伐.古语有云:长袖善舞,多钱善贾,意指有所依靠,事情容易成功.随着大数据所爆发出的巨大潜力,在如今的互联网经济时代,玩电商的"有才有财"企业,正在用大数据思维与技术影响着企业业务决策和商业推广思路.可以预测的是,互联网平台大数据分析,正如利剑出鞘.铠甲上身,必将在未来为电商企业精准营销带来融合性影响. 数据支撑营销 电商战线新阵法 在电商各类火爆的购物节背后,我们可否看到基于互联网的电商企业,呈几何数增长的庞大数据量?面对数据量的快

背靠中台实现基于大数据驱动的国际化电商架构(一)

0.让大数据应用无处不在 计算机的伟大之处就是为人类带来了效率.而今天随着大数据技术的日益成熟,也促进了计算机技术的发展.我们可以利用大数据技术实现更加智能的计算,一方面使得效率极大进步:另一方面也智能化也让计算机的应用领域变宽,解决以前无法解决的问题.这两方面最终升化了计算机的计算效率. 如今阿里集团的大数据技术积累以及计算资源的极大丰富也为我们实现更多的大数据应用提供可能性. 天时地利,让我们充分学习,运用大数据技术,赋能各类场景. 本文目的是提供大数据应用在架构领域的一个例子,希望有用.

大数据时代,电商企业何去何从

在互联网和移动互联网时代发展起来以后,数据的规模和丰富度迅速增长,等达到一定程度以后,便有人提出了大数据的概念,大数据就是需要跨视角.跨媒介.跨行业的海量数据,也可以理解为数据的收集方法,那么,当电商们拥有大数据的时候,又会是怎样的状况呢? 谁拥有大数据? 拥有大数据的前提是数据的稳定性和丰富性,建立在这一前提下,绝对是淘宝.百度.腾讯这几家自有数据源的公司,但艾瑞咨询技术副总裁郝欣诚在同意这一说法的同时又认为一些淘宝店铺不能称为有稳定丰富数据源的公司. 因为一些淘宝店铺的眼光往往停留在自己本身

除了啤酒与尿布 大数据又助电商玩口碑营销

在快消行业,啤酒与尿布成了大数据应用的经典案例:全球零售业巨头沃尔玛通过对消费者购物行为进行分析时发现,男性顾客在购买婴儿尿片时,常常会顺便搭配几瓶啤酒来犒劳自己,于是沃尔玛将啤酒和尿布陈列在一起,大大提升了两种商品的销量. 如今产业升级,越来越多消费者选择电商而非实体超市购买商品,大数据的应用也不再局限于商家手里掌握的销售数据,而是转向如今网络时代更为关心的用户参与感.口碑传播,在这其中,用户在电商平台上留下的大量评价数据,便成为了解口碑传播的关键,成为新的金矿. 电商时代的口碑--用户评论

【阿里在线技术峰会】郑恩阳:电商互动营销的技术实现

本文根据天猫技术部互动平台郑恩阳在首届阿里巴巴在线技术峰会上的分享整理而成.他主要通过全民疯坎和赛车竞速赢汽车案例分享了电商互动营销的整体架构.相应的技术.利用Tengine来分担服务器压力.防作弊策略实现.传统授权方法的优化以及利用Hilo引擎进行多渲染等. 直播视频:点此进入 PDF下载:点此进入 以下为整理内容. 互动营销案例 边看边买的互动 在做这个互动的时候,我们希望能够在顾客的购物路径上做一些改变和创新.当用户看到这个视频的时候,如果用户有需求,能够直接点击视频上的锚点,直接进行购物

背靠中台实现基于大数据驱动的国际化电商架构(二)

一.背景 老生常谈国际化的技术挑战: 1)国际电商面临的是全球消费者,天然延时大: 2)面临国际互联互通的网络质量问题: 3)国际电商技术还将面临如何快速应对合规.政策等问题: 4)需要发展本地化业务来补足消费者需求,而本地化将面临与全球各地的第三方Service Provider对接: 5)全球范围内的灾备: 6)全球数据一致性: 7)竞争环境及很多的不确定性,需要我们快速迭代试错 这些挑战需要我们用智能高效的技术解决方案.另外我们又是一个基于微服务的较轻量级的技术体系,我们容易做架构上的调整