Enviar búsqueda
Cargar
淘宝网前台应用性能优化实践
•
8 recomendaciones
•
1,921 vistas
丁 宇
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 27
Descargar ahora
Descargar para leer sin conexión
Recomendados
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
丁 宇
大型互联网站性能优化
大型互联网站性能优化
丁 宇
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践
孙立
快速搭建高性能服务端
快速搭建高性能服务端
moonbingbing
MySQL压力测试经验
MySQL压力测试经验
Jinrong Ye
新浪微博Feed服务架构
新浪微博Feed服务架构
XiaoJun Hong
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用
Jinrong Ye
Recomendados
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
丁 宇
大型互联网站性能优化
大型互联网站性能优化
丁 宇
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践
孙立
快速搭建高性能服务端
快速搭建高性能服务端
moonbingbing
MySQL压力测试经验
MySQL压力测试经验
Jinrong Ye
新浪微博Feed服务架构
新浪微博Feed服务架构
XiaoJun Hong
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用
Jinrong Ye
性能优化
性能优化
Lu Wei
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
Jinrong Ye
一个 Mongodb command 的前世今生
一个 Mongodb command 的前世今生
dennis zhuang
Building the Production Ready EB level Storage Product from Ceph - Dongmao Zhang
Building the Production Ready EB level Storage Product from Ceph - Dongmao Zhang
Ceph Community
Ceph perf-tunning
Ceph perf-tunning
Yang Guanjun
阿里CDN技术揭秘
阿里CDN技术揭秘
Joshua Zhu
分布式Key Value Store漫谈
分布式Key Value Store漫谈
Tim Y
构建基于Lamp的网站架构
构建基于Lamp的网站架构
Cosey Lee
线上问题排查交流
线上问题排查交流
Edward Lee
Golang 高性能实战
Golang 高性能实战
rfyiamcool
Cephfs架构解读和测试分析
Cephfs架构解读和测试分析
Yang Guanjun
系统性能分析和优化.ppt
系统性能分析和优化.ppt
Frank Cai
Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇
bluedavy lin
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
Jinrong Ye
Truck js 高性能移动web开发解决方案
Truck js 高性能移动web开发解决方案
美团技术团队
Traffic server overview
Traffic server overview
qianshi
Java内存管理问题案例分享
Java内存管理问题案例分享
bluedavy lin
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
ykdsg
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
areyouok
腾讯大讲堂17 性能优化不是仅局限于后台(qzone)
腾讯大讲堂17 性能优化不是仅局限于后台(qzone)
topgeek
前端性能优化&测试
前端性能优化&测试
tbmallf2e
Mysql调优
Mysql调优
ken shin
Más contenido relacionado
La actualidad más candente
性能优化
性能优化
Lu Wei
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
Jinrong Ye
一个 Mongodb command 的前世今生
一个 Mongodb command 的前世今生
dennis zhuang
Building the Production Ready EB level Storage Product from Ceph - Dongmao Zhang
Building the Production Ready EB level Storage Product from Ceph - Dongmao Zhang
Ceph Community
Ceph perf-tunning
Ceph perf-tunning
Yang Guanjun
阿里CDN技术揭秘
阿里CDN技术揭秘
Joshua Zhu
分布式Key Value Store漫谈
分布式Key Value Store漫谈
Tim Y
构建基于Lamp的网站架构
构建基于Lamp的网站架构
Cosey Lee
线上问题排查交流
线上问题排查交流
Edward Lee
Golang 高性能实战
Golang 高性能实战
rfyiamcool
Cephfs架构解读和测试分析
Cephfs架构解读和测试分析
Yang Guanjun
系统性能分析和优化.ppt
系统性能分析和优化.ppt
Frank Cai
Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇
bluedavy lin
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
Jinrong Ye
Truck js 高性能移动web开发解决方案
Truck js 高性能移动web开发解决方案
美团技术团队
Traffic server overview
Traffic server overview
qianshi
Java内存管理问题案例分享
Java内存管理问题案例分享
bluedavy lin
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
ykdsg
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
areyouok
腾讯大讲堂17 性能优化不是仅局限于后台(qzone)
腾讯大讲堂17 性能优化不是仅局限于后台(qzone)
topgeek
La actualidad más candente
(20)
性能优化
性能优化
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
一个 Mongodb command 的前世今生
一个 Mongodb command 的前世今生
Building the Production Ready EB level Storage Product from Ceph - Dongmao Zhang
Building the Production Ready EB level Storage Product from Ceph - Dongmao Zhang
Ceph perf-tunning
Ceph perf-tunning
阿里CDN技术揭秘
阿里CDN技术揭秘
分布式Key Value Store漫谈
分布式Key Value Store漫谈
构建基于Lamp的网站架构
构建基于Lamp的网站架构
线上问题排查交流
线上问题排查交流
Golang 高性能实战
Golang 高性能实战
Cephfs架构解读和测试分析
Cephfs架构解读和测试分析
系统性能分析和优化.ppt
系统性能分析和优化.ppt
Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
Truck js 高性能移动web开发解决方案
Truck js 高性能移动web开发解决方案
Traffic server overview
Traffic server overview
Java内存管理问题案例分享
Java内存管理问题案例分享
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
腾讯大讲堂17 性能优化不是仅局限于后台(qzone)
腾讯大讲堂17 性能优化不是仅局限于后台(qzone)
Similar a 淘宝网前台应用性能优化实践
前端性能优化&测试
前端性能优化&测试
tbmallf2e
Mysql调优
Mysql调优
ken shin
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
Comment System of 56.com
Comment System of 56.com
Ho Kim
美团前端架构简介
美团前端架构简介
pan weizeng
05.wls调优
05.wls调优
Meng He
前端性能测试
前端性能测试
tbmallf2e
张勇 搜搜前端架构
张勇 搜搜前端架构
isnull
Chasingice
Chasingice
冰 白
Nodejs & NAE
Nodejs & NAE
q3boy
百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化
tiantianli
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
思念 青青
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
淘宝搜索前端优化
淘宝搜索前端优化
Frank Xu
使用Big pipe提升浏览速度 wk_velocity
使用Big pipe提升浏览速度 wk_velocity
kumawu
前端调试工具,编码相关,性能相关
前端调试工具,编码相关,性能相关
jay li
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
drewz lin
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
Btrace intro(撒迦)
Btrace intro(撒迦)
ykdsg
Kvmopt osforce
Kvmopt osforce
meecheng
Similar a 淘宝网前台应用性能优化实践
(20)
前端性能优化&测试
前端性能优化&测试
Mysql调优
Mysql调优
合久必分,分久必合
合久必分,分久必合
Comment System of 56.com
Comment System of 56.com
美团前端架构简介
美团前端架构简介
05.wls调优
05.wls调优
前端性能测试
前端性能测试
张勇 搜搜前端架构
张勇 搜搜前端架构
Chasingice
Chasingice
Nodejs & NAE
Nodejs & NAE
百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
淘宝搜索前端优化
淘宝搜索前端优化
使用Big pipe提升浏览速度 wk_velocity
使用Big pipe提升浏览速度 wk_velocity
前端调试工具,编码相关,性能相关
前端调试工具,编码相关,性能相关
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
Btrace intro(撒迦)
Btrace intro(撒迦)
Kvmopt osforce
Kvmopt osforce
淘宝网前台应用性能优化实践
1.
淘宝网前台应用性能优化实践
2.
自我介绍 •
丁宇,阿里花名叔同 • 4年行业软件和3年互联网应用 发 经验,对构建高性能、高可用、可 扩展的Web应用 趣浓厚 • 现为淘宝网技术部综合业务平台技 术专家,负责性能优化领域的工作 • Weibo:淘宝叔同
3.
议程 1. 应用性能分析 2. 基础设施优化 3.
应用自身优化 4. 前端性能优化
4.
1. 应用性能分析 •
介绍前台应用 • 度量 键指标 • 查找应用瓶颈
5.
介绍前台应用 •
面向用户的Web应用 • 商品详情、店铺等 • 流量较大、机器较多
6.
前台应用特点 •
模板 染⻚页面 • 使用Velocity引擎 • ⻚页面较大(大于100KB) • 外部调用较多 • 数据来自外部,不保存数据 • DB、HSF、 Tair、 Search、 TFS ... • 磁盘读写较少 • 吐量相对低
7.
度量
键指标 • 吐量 • 线上环境压测获取 • HttpLoad、Nginx引流 • 响应时间、 ⻚页面大小 • 分析访问日志获取 • 每请求内存数 • GC回收的内存数除以 吐量
8.
查找应用瓶颈 •
于瓶颈 • 瓶颈是系统中比较慢的部分,在瓶颈完成前,其他部分需要等待 • 2/8原则 • 20%的代码执行会消耗80%的资源
9.
查找应用瓶颈 •
CPU、IO、Memory • Thread、File、Socket、GC • 一般性瓶颈 • CPU计算 • 字符串查找、替换、拼接 • 编码、解码、压缩、解压 • 外部调用 • IO 销、序列化、反序列化
10.
查找模块瓶颈
Other Tair 5% 4% Velocity Search Hesper 31% Search Velocity Tair 57% Other Hesper 3% 时间消耗分析,使用TProfiler工具
11.
查找代码瓶颈
• 找出代码瓶颈 • 使用TProfiler工具 • VisualVM、JProfiler 方法信息 执行时间 执行次数 总时间 com/xxx/web/core/NewList:execute() 61 3102 190067 com/xxx/web/core/PerformScreenTemplate:performScreenModule() 18 4822 87822 com/xxx/biz/core/DefaultSearchAuctionManager:doMultiSearch() 43 708 30357 com/xxx/biz/core/DefaultSearchCatRedirectManager:doSearch() 4 1248 4552
12.
2. 基础设施优化 •
软件升级 • JVM调优 • 模板引擎优化
13.
软件升级 •
Apache -> Tenginx Linux • 吐量提升10%+ Apache 2.2 • JBoss 4 -> Tomcat 7 • 吐量提升10%- mod_jk • JVM 1.6 23 -> 1.6 32 • JVM OS 32bit -> 64bit JBoss 4.2 • 加大Java Heap, 吐量提升70% Web App • Kernel升级 • 内核升级参数调整, 吐量提升40%
14.
JVM调优 •
Minor GC暂停25ms,Major GC暂停500ms • 少Young晋升到Tenured的对象, 少Major GC • 合理分配堆大小、Survivor Space Size、Tenuring Threshold • 借助工具 TBJMap 分析JVM堆每一个分区的内容 • 优化系统代码,及时回收对象、 少内存使用、 小⻚页面大小 • JVM性能表现的最佳状态是没有Major GC
15.
模板引擎优化 •
Char 转 byte - 性能提升100% • 解析执行改编译执行 - 性能提升10%
16.
3. 应用自身优化 •
压缩模板大小 • 设置最佳并发 • 代码瓶颈优化 • 外部调用优化 • CPU优化 • 架构优化
17.
压缩模板大小 •
模板大小和 吐量成反比 • 删除空行、多余空格 • ⻓长URL压缩、 用URL 名 • 去掉’http:’ • 业务上去重 • 案例:JSON去重 小50%
18.
设置最佳并发 最佳并发 = ((CPU时间+CPU等待时间)
/ CPU时间) * CPU数量
19.
代码瓶颈优化 •
找到影响性能的 键点进行优化 • 案例:某应用每个请求都抛 常 常 • 去掉后, CPU使用率提高30% • 吐量提升近30% • 常危害很大,需要从根源发现 • Taobao JDK 常监测补丁
20.
外部调用优化 •
并行RPC、并行搜索 • 会降低响应时间,不会提升 吐量 • 合并外部调用 • 去冗余调用、合并接口 • 使用更优的序列化协议 • Protocol Buffers • Kryo 比 PB 快20%
21.
CPU优化 •
GZip压缩级 • 类中Field排序 • 频繁使用的放一起 • Cache Line优化 • 批量处理数组 • 按行处理不要按列处理 • 使用批量接口 • 使用乐观策略
22.
架构优化 •
动态资源静态化 • 分析⻚页面,更新迟缓占比较大的部分放CDN • 案例:⻚页面大小200KB -> 100KB • 后台依赖前台化 • 降低响应时间、提高稳定性 • 后端 染前端化 • 数据远小于⻚页面,⻚页面布局比较规则 • 案例:响应时间 少25%、⻚页面大小 小60%
23.
架构优化 •
DB依赖缓存化 • 需要Center应用维护缓存 • 对象缓存 • ⻚页面片段缓存 • 整⻚页缓存 • HTTP缓存 • 提高命中率
24.
4. 前端性能优化 •
度量 键指标 • 前端优化实践
25.
度量
键指标 • ⻚页面下载时间 • TSlow • 阿里度 • 始 染时间 • 阿里测 • 首屏时间 • ⻚页面埋点 • domReady • Navigation Timing • onLoad • PhantomJS
26.
前端优化实践 •
Yahoo 34条军规 • 首屏优先, 染优化 • BigRender • 延迟加载,按需加载 • Keep Alive、mod_pagespeed
27.
Q&A
Descargar ahora