Presentation is loading. Please wait.

Presentation is loading. Please wait.

Velocity 2010 Highlights 淘宝 - 核心系统研发 - 叔度 2010-07-09.

Similar presentations


Presentation on theme: "Velocity 2010 Highlights 淘宝 - 核心系统研发 - 叔度 2010-07-09."— Presentation transcript:

1 Velocity 2010 Highlights 淘宝 - 核心系统研发 - 叔度

2 Velocity大会介绍 由O’Reilly举办 顶级web公司参与 大牛云集 今年举办第三届 Google Facebook Yahoo
Twitter 大牛云集

3 性能是网站的第一要素 ——Larry Page,Google创始人

4 速度变慢,弹出率上升 source:

5 速度变慢,访问的页面变少 source:

6 速度变慢,转化率下降 source:

7 首先,你要了解你的系统 网站类型 不同类型不同的需求 盈利/目的 监控什么? 服务时间 网络时间 客户/绘制时间 应用关键步骤

8 一些你需要知道的数字 Google统计的平均数据 平均网页大小320K 平均带宽1.8M bps 理论上1.4s,实际上5s 页面组成
使用44个资源 7次DNS查询 三分之一的内容没有压缩

9 性能优化的大方向 前端页面 应用与架构 服务器 负载均衡 数据库 系统与底层 硬件 协议

10 针对人优化——性能优化心理学 实际时间 != 感知的时间 情绪的影响 避免空等待 感觉变快 成功的任务 有回应 进度 有意义的信息提示
source:

11 如何管理变更 所有的东西都应该在版本控制之下 变更要有记录(Facebook) 交换机的配置文件 路由器的配置文件 防火墙的配置文件
系统的配置文件 应用的配置文件 监视程序的配置文件 文档 程序代码 数据库表结构 所有一切 变更要有记录(Facebook) 每天/周更新 source:

12 如果故障无法避免 如何把它转化成正面反应 开放 & 透明化 响应而不是回避 建立信任 沟通渠道 公开的健康状况仪表盘
source:

13 大网站如何运维? 部署 监控 & 工具 自动化,自动化,自动化 准备好应付故障 支持而不是阻止工程师的创新
Facebook和Twitter都使用BitTorrent Facebook:1分钟完成全球的部署(几百兆的文件、上万台服务器) Twitter :30~60秒更新超过1千台服务器(Python + libtorrent) 监控 & 工具 CFengine Puppet Chef Ganglia Nagios 编写适用于自己的 自动化,自动化,自动化 准备好应付故障 支持而不是阻止工程师的创新

14 运维角色的转变 不要仅仅是“系统管理员”(Twitter) 通过统计分析产生有意义的结果 以数据而不是直觉来做决策 使网站更快
改进现有架构并为将来做计划 规划好容量而不是做消防员

15 Javascript 确保DOMContentLoaded之前的交互性 并不是每个动作都需要Javascript 预测性加载 工具
这是加快性能与用户体验的一个机会 在底端加载Javascript吗? 动态加载的脚本不会阻塞页面加载 预测性加载 工具 Firebug JSMeter

16 CSS五大错误 没有gzip压缩(42%) 有2个以上的外部CSS文件(44%) CSS文件带有cookie(56%) 没有最小化(62%)
使用YUI Compressor CSS文件超过100K(21%)

17 百花齐放的前端诊断工具 YSlow Page Speed Closure Compiler Show Slow dynaTrace
HttpWatch AOL Pagetest Speed Tracer Fiddler

18 不同的浏览器性能差别很大 Source: Gomez Real-User Monitoring
Taobao ChinaCache IE6 MUST DIE! Source: Gomez Real-User Monitoring Real users around the world Broadband connections only 466 million page measurements 200+ sites source:

19 Web Server优化:关于gzip压缩
Proxy 安全软件 爬虫 强制gzip压缩 如果没有Accept-Encoding头 判断User-Agent是否是一个modern的浏览器 如果没有一个特殊的cookie 测试看其能否解压缩gzip内容 如果成功,则发送gzip的内容

20 尽可能早的刷出页面内容 source:

21 HTTP并行化,性能提升2倍 Facebook的BigPipe 页片(pagelet) 流水线(pipeline) 模板 JSON返回内容
刷新方式 singleflush pipeline parallel prepare 效果对比 source:

22 friendconnectdirectory.com/Food
别让第三方内容拖累网站速度 不要阻塞住绘制或者加载 Iframe Script tag 不要影响用户体验 第三方内容 发布网站 % 影响 Digg services.newsweek.com 14 realtalkny.uproxx.com   9 FriendConnect 10 friendconnectdirectory.com/Food 30 FacebookConnect truveo.com 17 12 TribalFusion 53 31 source:

23 数据中心 钱去哪里了? 34%电力 8%网络 source:

24 电力传输中的损耗 source:

25 机房的温度到底多少合适? source:

26 廉价的存储方案 Openstoragepod.org backblaze source:

27 何时搭建自己的数据中心? 当买服务的钱大于建数据中心的钱的时候 Facebook 6万-10万服务器 第一个自建的数据中心 Oregon
source:

28 注意网络延时的影响 光速与距离 前面的几个包 传播不是没有代价的 保持Cookie小 让小的assets先下载
source:

29 TCP协议优化 对TCP的优化 TCP快速开始(加大初始拥塞窗口大小) Google提高了12%的性能
source:

30 SSL优化 False Start 减少握手中的一个来回 Google的SSL应用快了10%

31 使用SPDY来优化HTTP 头部压缩 流多路复用 快了25%
source:

32 CDN缓存技术 软件 技术 Squid Traffic Server Cache Peering Cache-Control
RFC 2186/2756 Cache-Control stale-while-revalidate Cache-Control: stale-if-error RFC 5861 source:

33 数据存储方式的转变 MySQL NoSQL Drizzle,云时代的MySQL替换品 FlockDB Memcached Cassandra
Hadoop

34 未来趋势:移动Web 18亿互联网连接点 46亿移动设备 这个差别在未来还会扩大
source:

35 移动设备上的特殊之处 浏览器与通常的不一样 并不是一个文档适合所有设备 尽可能的标准化
source:

36 Q & A


Download ppt "Velocity 2010 Highlights 淘宝 - 核心系统研发 - 叔度 2010-07-09."

Similar presentations


Ads by Google