海量用户网站技术经验

标签: 用户 网站 技术 | 发表时间:2013-12-31 18:43 | 作者:zmycoco2
出处:http://blog.csdn.net
全链路压测

压力测试对于评估网站性能的重要性是不言而喻的,但是,无论是线下模拟的单一集群的压测,还是线上引流压测,都只是能够暴露一些基本的单点问题。对于双十一当天高峰期的真实压力模拟,这两种传统的压力测试方式还存在着巨大偏差。首先是业务处理链路的复杂性,对于像天猫这样的一个分布式处理平台,一笔交易的创建会涉及多个应用集群的处理,在能力评估时也应该考虑的是一个处理链路而不仅仅是单一应用集群的处理能力。其次是应用之外的风险点,像网络、DB等等,很难在传统压测中体现出来。

为了解决这些问题,今年阿里几个技术团队联合在一起,通过线上真实用户数据与人为测试数据相结合的方式,首次成功地在生产环境中模拟出相对真实的超大规模的访问流量,将前端系统、网络、DB等一整个系统环境完整地纳入压测范围,贴近实际的应用场景,为评估淘宝和天猫交易核心链路的实际承载能力提供有说服力的数据依据。一方面可以验证交易核心链路上各种限流和预案的准确性,另一方面也充分暴露了全链路上的各种瓶颈和隐藏风险点,让压力测试的工作真正落实到了确定性的层面上。

CDN静态化

很多浏览型业务,例如天猫详情页、店铺等,是典型的静态数据偏多,动态数据偏少的应用。对于这种类型的应用集群,去年我们在架构上的主要工作就是通过静态化实现了动静分离,静态数据缓存在本地缓存,动态数据异步进行加载。改造前后单机QPS提升了10倍。

今年上半年我们在这个基础上,将本地cache改造成了统一的集中式缓存,这样,一方面降低了各个应用接入和维护cache的成本,另一方面加强了失效机制实时性和监控的自动化,更重要的是大大提升了缓存的命中率。

除此之外,为了进一步解决主站容量瓶颈,在统一cache层之上,我们把静态HTML内容直接缓存在CDN上。这样,静态数据的访问完全不用回流到主站机房,在离用户最近的CDN节点就能完成,用户端的响应速度自然得到了大大的提升。当然这个实现的过程远没有说起来这么简单,中间很多技术的难点,例如商品信息变更如何实现秒级的主动失效,如何保证节点到主站之间的网络稳定等等,这里先卖个关子,大家可以期待下双十一之后阿里技术团队的详细分享。

个性化算法

个性化技术已经逐渐被证明可以有效提高电商网站的流量分配效率,让消费者更容易找到自己想要的商品和品牌,让长尾商品和商家有机会获得精准的流量。

今年双11是天猫第一次在大促中脚踏实地的实行个性化,从PC 到无线,从“会场”到“我的双11”,都可以看到个性化在无形中提升天猫的消费者购物体验,让有潜在需求的买家更容易找到心仪的宝贝。

对个性化引擎而言,由于要进行复杂的算法运算:用户实时意图计算、相关商品检索、CTR 预估、“推荐解释”等等,活动当天系统承担的技术挑战更大,为了解决系统方面的压力,我们一方面优化了算法,将更多的算法移植到离线平台计算,另一方面,通过CDN,将大部分Item Based 算法结果做了静态化处理,目前cache 比例可以达到90%左右,整个天猫个性化引擎的集群已经可以在当天负载近百万QPS的推荐服务。

同时,双11用户行为与平常差异性较大,使得基于机器学习的用户行为偏好,需要针对双11增加品牌折扣度等特有的特征修正训练目标,避免产生偏差(bias)。

另外,一般来说,算法调优都通过线上测试来进行效果评估,通常需要数天到数周的时间,但是双11只有一天的机会,为了充分保证算法的线上效果,我们设计了离线评估系统,离线模拟线上效果,减少了对线上真实流量的依赖,降低了线上风险。

从这几天预热期的效果来看,对比运营人员制作的活动页面,个性化技术已经将加入收藏夹和购物车的转化率提升30%以上。

作者:zmycoco2 发表于2013-12-31 10:43:31 原文链接
阅读:0 评论:0 查看评论

相关 [用户 网站 技术] 推荐:

海量用户网站技术经验

- - CSDN博客推荐文章
压力测试对于评估网站性能的重要性是不言而喻的,但是,无论是线下模拟的单一集群的压测,还是线上引流压测,都只是能够暴露一些基本的单点问题. 对于双十一当天高峰期的真实压力模拟,这两种传统的压力测试方式还存在着巨大偏差. 首先是业务处理链路的复杂性,对于像天猫这样的一个分布式处理平台,一笔交易的创建会涉及多个应用集群的处理,在能力评估时也应该考虑的是一个处理链路而不仅仅是单一应用集群的处理能力.

电信运营商广告劫持都用过哪些手段?网站运营者和用户各有什么有效的反劫持技术?

- - 知乎每日精选
从用户在浏览器输入网址(点下书签)开始: 系统在联网的时候被分配到一个 DNS 服务器地址 / 用户手工设置了一个 DNS 地址(如 8.8.8.8). 浏览器向系统配置的 DNS 查询「这个网址对应的 IP 是多少」. 1 中的 DNS 服务器返回「服务器地址是 x.x.x.x」或者「NXDOMAIN:没这个 X 域名」.

Twitter网站技术发展历程

- - 互联网旁观者
Twitter目前Alexa排名第8. 在2006年诞生之时是采用Ruby On Rails+ MySQL构建的,2007年增加了Memcached作为Cache层,以提升响应速度. 基于Ruby on Rails让Twitter享受到了快速的开发能力,但随着访问量的增长,其对CPU和内存的消耗也让Twitter痛苦不堪,于是Twitter做了不少改造和努力,例如编写了一个优化版的Ruby GC.

知名网站的技术实现

- - BlueDavy之技术Blog
在上一篇《 知名网站的技术发展历程》中,介绍了一些知名网站在发展的过程中技术的演变,在这篇文章中则会根据这些网站的发展经验,来总结通常网站是如何来应对可伸缩性、可用性、高性能以及低成本这四方面的挑战的. 在上一篇文章中,介绍了一些Alexa排名较前的网站的技术发展历程,在这篇文章中,将结合提及到的网站的技术发展历程,来总结下网站在可伸缩性、可用性、高性能以及低成本四点上通常采用的技术.

谈谈12306.cn网站性能技术

- - IT瘾-startup
12306.cn网站挂了,被全国人民骂了. 我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题. 因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正. (这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购票下单环节分开的功能性的东西).

网站新老用户分析

- 飞鸽 - 互联网的那点事...
网站中新老用户的分析已经成为了网站分析中常见的一类用户细分的方法,也是网站分析中用户分析的一个重要组成. Google Analytics中对新老用户的命名分别为New Visitors和Returning Visitors,同时也为许多的分析指标提供了基于新老用户的细分. 简单地说,新用户就是首次访问网站或者首次使用网站服务的用户;而老用户则是之前访问过网站或者使用过网站服务的用户.

大型网站技术架构(四)--网站的高性能架构

- - CSDN博客架构设计推荐文章
大型网站技术架构(一)--大型网站架构演化. 大型网站技术架构(二)--架构模式. 大型网站技术架构(三)--架构核心要素. 网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标.       指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间. 如下列出了系统常用的操作响应时间表..

让网站飞起来01---浏览器缓存技术

- SuperLucky - 博客园-首页原创精华区
缓存技术在在网站应用中非常重要,在减少服务器请求压力和用户浏览速度加块方面有着功不可没的功劳,. 昨天在我《网站优化--让你的网页飞起来》里面有人问道关于浏览器缓存原理的问题,萌发了我研究缓存技术的兴趣,本文主要. 在介绍缓存技术之前,我们先看一张LAMP网站的价格图,通过架构图我们可以很清晰的对网站整体缓存有一定认识.

让网站飞起来02--服务器缓存技术

- Bloger - 博客园-首页原创精华区
第一个介绍的是《让网站飞起来01---浏览器缓存技术》. 介绍服务器,肯定要先支持服务器在网站架构中的位置和作用,然后在介绍几种常见的服务器缓存配置. 对服务器在网站中位置作用有个大概了解:lamp架构图. 上图主要介绍了三种服务器,也是比较常用的服务器,下面就介绍这三种服务器的缓存配置. apache是作为正向代理服务器缓存,nginx和squid主要作为反向代理服务器缓存..

门户网站负载均衡技术的六大新挑战

- flychen50 - ITeye博客
记得上大学时,我和好友老郭讨论最多的话题便是:“像新浪这样的网站是如何支撑如此巨大的访问量. ”也曾通过各种手段,猜测新浪服务器的数量、操作系统和应用软件的版本……一切都是那么神秘. 毕业那年,有幸加入新浪,终于一点点地揭开了这层神秘的面纱. 2004年某厂商设备介绍会上,我初次接触到了负载均衡技术.