如果有意赞助O'Reilly Velocity China 2010或者有其他合作想法,请通过地址donna at mail.oreilly.com.cn联系马女士。
For Velocity China sponsorship information for companies outside China, contact Yvonne Romaine at yromaine@oreilly.com
Download the English-language Sponsor Prospectus for Velocity China.
5年前只有开发人员关心网站的性能。而今天认识到快速网站重要性的群体已经扩展至更广泛的范围,包括销售团队、市场部门、商业开发人员以及更高的管理层。这就导致一个新产业的出现──WPO(Web Performance Optimization ,网站性能优化)。现有的厂商在增加网站性能服务。创业公司则提供提高用户体验的新技术。主流网站在购买这些服务的同时自己也开发更多的服务和技术。采用WPO技术的网站能吸引更多的用户,提供更好的用户体验,增加收入,并且降低成本。5年来我们走了很长的一段路,让我们共同回顾一下在让网站变得更快的道路上的一些成就。
首先,简单介绍淘宝网的系统规模和增长速度,以及对软件基础设施带来的挑战;接着,回顾淘宝图片存储与CDN系统的发展历史,如何从商用系统一步一步走到完全自主的系统,描述自主系统的主要架构与设计思想、性能指标和现有的部署规模,并总结一些经验来指导系统研发;然后,描述淘宝在软件基础设施上的规划,并一一阐述当前主要项目的要点与进展状况,这包括TFS、TAIR、千亿级别的分布式表格系统OceanBase、MySQL优化、面向Java环境的专用计算平台、服务器平台、Linux内核定制与优化、组通讯夸父、CDN和低功耗服务器平台等;最后,总结一下软件基础设施研发的原则和经验。
- 首屏幕时间--高性能网站重点指标
- 真实用户数据的视角对于网站性能的帮助
- 真实用户数据的采集与展现
- 网络层性能与内容层性能对于网站性能的影响
- 用户监测数据对于网站基础网络结构决策的影响
在这个报告中,我将介绍在Facebook网站前端性能优化中采用的最主要的一些技术。这些技术不光降低了服务器的开销,而且同时极大地提高了Facebook网站的用户体验性能。
- 我将首先介绍Quickling技术。通过Quickling,Facebook将所有的用户点击访问自动地转变成AJAX调用,避免了大量的服务器端重复计算和客户端的重复渲染。
- 然后我将介绍基于Quickling的PageCache技术,通过JavaScript自动缓存用户访问过的页面,极大的加速Facebook主页的性能并降低服务器开销。
- 最后,我将介绍BigPipe技术,通过采用微处理器内的流水线技术,将Facebook网站用户感知性能加速一倍以上。
使用 JavaScript 成功的关键在于认识到这一语言存在能够支持高质量程序开发的子集,要使用这一子集的最大优势。本次讲话将探讨如何做出权衡,它将会影响网站可维护性和网站性能。
异构环境的智能调度系统──天网调度系统(智能化,自动化,集成化,集调度,运维,监控,分析与一体),大幅提升运维效率和系统运行的效能。
Hadoop 云梯分布式计算平台(自动部署,统一gateway,自动适应任务分发),管理100台和管理10台的运维成本能好的控制,如何提升海量异构job的综合运行性能,提升整个集群的运行效率和资源使用率。
集成元数据,自动化分析系统瓶颈,自动化定位系统关键路径,轻松应对如何运维10w以上的job的自动化定位核心问题点。
- 首先介绍优化中的三个W一个H:为什么要优化数据库?谁来优化?优化什么?怎么优化?
- 在数据库设计中怎么设计出高性能的表结构以及选择合适的存储引擎;
- 如何设计出高效的索引和书写出高性能的查询语句;
- 通过使用合适的硬件以及调节MySQL服务的参数来达到服务的高性能;
- 在跨IDC的多点写入下如何从MySQL的部署架构上来满足数据量和查询量日益暴增的业务需求。
Yslow,PageSpeed,CDN加速,双线机房,BGP, 第三方监控,页面缓存......如果你们有几百人的团队,相信所有东西都会被仔细研究,可如果你的人手和资源有限又真的很想提高网站访问速度,怎么办?在过去三年里,我们仅有十人的技术团队在不断地监控和优化网站访问速度上做了很多的尝试,这里和大家分享下我们的些许心得。
过去的一年我们针对YouTube Watch页面做了很多前端性能改善工作,使用的技术包括逐步增强、基于行为的widget系统、预装载连接。我将讨论在YouTube我们如何使用这些技术以及您如何在自己的网站中使用他们。
至今仍最为流行的传统关系型数据库技术奠基于30年前,彼时银行/金融业务突出,事务与数据安全性需求紧迫,而Web远未诞生。30年前的严谨风格遭遇轻巧灵动的Web应用未免不适应,而症结归于存储子系统,严格的事务与数据安全性机制显得多余,而受其所限性能难以提升。为此网易针对Web应用特征自主开发新型的高性能MySQL存储引擎,摒弃事务而采用实体级的原子性,并采用行级缓存、超高性能UPDATE、索引前缀压缩、记录压缩、大对象数据压缩等技术,使得该存储引擎性能较之InnoDB提升10倍,简单Key-Value应用性能赶超多数NoSQL系统。并可进行在线的数据整理、增删索引、模式修改,可用性优异。本报告将为您讲述此存储引擎的核心设计思想,同时分享MySQL存储引擎的开发经验。
Yahoo! Mail 性能团队成员将会讨论构建更快的邮件平台(3亿人使用)的挑战和解决方案。这些方案为用户带来显著的性能提升,同时也加快了产品从概念到部署阶段的速度。本次会议的讲话会把重点放在 Yahoo! Mail模块化、测试和性能优化的技术上。
网页中常常会引入的广告,流量统计等等第三方JavaScript代码。问题是这些代码不仅会拖慢页面速度而且还会对合作网站的稳定性造成影响。分享淘宝广告系统最近的一些工作成果关于如下这些话题:有哪些无阻塞脚本加载方案可供选择,采用这些方案还能保证广告展现的速度么?在合作方不改变已有埋点时,如何实现Fast By Default,如何为无时间戳的脚本做好版本控制?如何在严格控制代码总大小的前提下有效组织JavaScript代码?网站开发如何降低第三方代码对网站速度和稳定性的影响?
Alibaba数据库经历了从小型机到PC机,从集中式到分布式,从ORACLE到MySQL的发展历程,在运维管理和性能优化方面积累了很多经验,内容包括:
- Alibaba数据库发展历程
- 分布式MySQL数据库架构
- 基于数据库日志解析的同步方案
- 数据库硬件选型与高可用方案
- 基于SSD的数据库性能优化实践
静态网页资源包括Javascript、CSS和图标图片,它们是现代网站不可缺少的部分。而这部分的性能又直接影响了网页的速度。在这个讲座里,我将与大家分享我们在静态网页资源的管理和优化上的经验。Facebook的五亿活跃用户来自五湖四海:不同文化、不同的语言、不同的网络链接质量。巨大的用户差异性给我们的静态网页资源管理提出了很多新的挑战。这个讲座将围绕这些挑战讨论:
- 系统架构:为全公司开发团队的提供简易透明的固态网页资源编程接口;
- 系统扩展性:研发一个可扩展的固态资源管理,以满足不断增长的网站功能、不断增加的用户语言和不断变化的个性化策略
- 自适应性:为固态资源管理研发自适应的优化模块,让系统随功能的增减和用户使用方式的变化自动调节,几乎不需要人力干预。
事件驱动、基于回合的处理模式让我们在浏览器端受益匪浅,现在有扩展到服务器端,同样会带来可观的新效率。
提高一个网站的性能很难,以一个很小的团队让一个大规模网站一直保持高性能更难。在这个讲座里,我将与大家分享Facebook在保持网站高性能这个问题上的经验和教训,并着重在以下三个方面深入讨论:
- 重视架构:如何让团队里的性能优化高手找到最高价值的优化目标
- 数据说话:如何测量最终用户体验,并且把测量数据与全公司开发团队分享
- 分担责任:如何与产品开发团队合作,共同提高网站的性能
Web 2.0 把越来越多的内容加到网页中,尤其是那些通过 Ajax 实现的功能。我们的 Web 应用发展得比其赖以运行的浏览器的发展还要快。但是这一切不必一定去依赖和等待浏览器新版本的发布。在讲话中 Steve Souders 会讨论来自他第二本书──《更快速网站》中的 Web 性能最佳实践。这些技术被世界上大多数流行的网站采用,来产生更快速的用户体验,增加收入,降低运营成本。 Steve 会提供降低 JavaScript 之苦的技术细节,以及在新兴市场中更快速加载页面的秘密,要知道在这些领域网络连接是一个挑战。
结合淘宝访问量最大且最重要的商品详情页系统,分别从后端与前端介绍相关的优化实践,内容包括:
- 商品详情系统的发展过程及曾碰到的问题
- 减少依赖、提升Qps的过程及方法
- 提升页面加载速度的实践及方法
- 前端性能优化的基本准则
- 页面模块化和并行加载方案
- 面向未来的前端性能优化
在云计算平台下面,我们需要一个统一的、高效的监控平台,使得任何风吹草动都逃不出我们的手掌心。这个监控平台不仅要能够克服报警风暴、监控数据不统一、监控系统本身性能等各种问题。 同时它还要成为我们的眼,脑和手,首先它是我们的“眼睛”,帮我们7*24小时监控我们整个系统;其次它是我们的“脑”,能够根据历史的经验和知识库给我们诊断的建议和历史处理该问题的经验,方便我们快速的诊断和解决问题;最后它还是我们的“手”,方便我们快速地进行操作和故障排除。
- 存储的特殊性和重要性。Erlang Style Concurrency 理念之一:Fail fast(发生错误的模块应立即停止服务),这个理念有一个关键点,就是一切都可以停止服务,但是存储服务是不能宕的,因为存储服务是系统状态的保持者。注:存储服务不能宕,并非指提供存储服务的服务器不能宕。
- 存储即数据结构。数据结构的多样性,意味着存储也是多样化的。
- 分布式存储的难度。存储服务的可靠性要求极高(如前所述,存储服务是不能宕的),故此实现一个新的分布式存储极其困难。
- 分布式存储与Web服务伸缩性的关联性。存储即系统的状态。在存储达到可伸缩后,整个Web服务通常就可以达到很好的伸缩能力。当然,某些特殊的Web服务仍然会有存储之外其他方面的瓶颈,例如计算能力上的瓶颈。
- 如何提供一个高可靠、可伸缩的 Web 服务?这里给出一个Web服务实现的建议框架。
7x24小时不间断的服务是每个互联网应用的理想状态,但事实上谁也无法避免异常情况的发生,当异常发生时我们所能做的就是亡羊补牢的工作,避免损失的继续产生并将影响控制在最小范围,而其中的关键就在于:如何快速的发现、解决异常;如何避免异常的扩散。在这个报告中将介绍:
- 网易自主研发的监控平台的设计,讲解如何解决应用级监控问题;
- 日志检测系统的设计,通过WEB访问日志及时发现应用异常、CC DDos攻击等问题;
- 引入ESB中间件以避免系统局部出现错误或过载情况下异常扩散的解决方案。
数据库在百度有着广泛的应用。本次主题主要介绍百度数据库的概况、面临的问题以及百度在数据库单机和分布式方面的工作。 性能和数据规模伸缩一直是数据库的主要问题,主题中会介绍百度在数据库单机性能优化方面的成果以及在分布式数据库方面的设计。分布式数据库的产品定位是什么?应该遵循何种设计原则?满足或不满足什么样的需求?其分布式系统内在的重要特性是什么?百度将分享其在这些方面的设计和考虑。
2010年,移动互联网开始高速发展,移动终端层出不穷,需求千变万化,多运营商化,为此,我们设计了一套针对移动互联网特点的动态内容分发平台, 可以满足手机wap1.0,wap2.0,移动客户端(xml,json)多版本,多格式的需求。目前系统的单机平均已经应付超过1800万pv/日。本主题将分享如下内容:
- 可分发的动态模板架构。
- 可分发的业务逻辑和系统平台的分离。
- 如何通过NOSQL数据库的合理使用来提升性能
- 动态应用的跨运营商的CDN架构
- 移动互联网的访问统计设计
- 高可用和高扩展的设计
cwf(c++ web framework) 在人人网使用一年多,在性能,资源利用方面卓有成效。在合适的业务场景下能发挥c++语言的优势,合适的架构能降低开发、运维难度。
- 使用c++于web领域的架构
- 高性能模板技术
- 多个开源技术的使用
探讨如何结合中国互联网实际情况对互联网产品进行深入优化。主要内容包括:
- 流量免费——腾讯web产品交叉预加载优化方案介绍
- 服务翻墙者——DNS矫正方案介绍
- 关注视障用户——快速的信息无障碍网站改造实践介绍
介绍超大规模网站里在海量数据、复杂多系统环境下通过开发者参与应用运维保障安全生产、系统稳定。从应用系统架构的角度详细阐述容量规划、性能提升、系统扩展、过程改进四个主题。
- 应用运维 vs 基础运维
- 应用运维与安全生产
- 应用运维的使命:高效、稳定、低碳
- 应用运维对应用和人提出的要求
- 思路与Roadmap
视频服务是近年发展迅猛,涉及数亿网民的新兴应用。视频CDN系统是整个应用的技术核心,它和传统的页面和图片等静态内容的CDN的最大区别不仅在于对存储容量,IO吞吐能力,带宽等系统设计的巨大挑战,更在于需要有一套完善的视频文件上传,转码,同步,播放下载,性能监控,运维实施的系统平台。土豆网通过三年多的努力,建成了有鲜明特点的土豆视频CDN。本次主题将会以上面各个要点为主题,探讨土豆视频CDN从上传到播放是如何做到高可控性,高扩展性,实时调度,从而保证用户体验的。
Internet Explorer 9 Beta是微软最新发布的浏览器产品。IE9充分利用了PC硬件的性能,从而使您获得更加优秀的JavaScript运行效率及HTML5的渲染体验。
介绍Firefox如何布局内容。