[计算机]腾讯大讲堂17-性能优化不是仅局限于后台Qzone

上传人:飞*** 文档编号:51426602 上传时间:2018-08-14 格式:PPT 页数:34 大小:1.53MB
返回 下载 相关 举报
[计算机]腾讯大讲堂17-性能优化不是仅局限于后台Qzone_第1页
第1页 / 共34页
[计算机]腾讯大讲堂17-性能优化不是仅局限于后台Qzone_第2页
第2页 / 共34页
[计算机]腾讯大讲堂17-性能优化不是仅局限于后台Qzone_第3页
第3页 / 共34页
[计算机]腾讯大讲堂17-性能优化不是仅局限于后台Qzone_第4页
第4页 / 共34页
[计算机]腾讯大讲堂17-性能优化不是仅局限于后台Qzone_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《[计算机]腾讯大讲堂17-性能优化不是仅局限于后台Qzone》由会员分享,可在线阅读,更多相关《[计算机]腾讯大讲堂17-性能优化不是仅局限于后台Qzone(34页珍藏版)》请在金锄头文库上搜索。

1、性能优化不是仅局限于后台-Qzone性能优化报告QQ空间产品中心 QwangQzone优化概述存储优化 日志重构 访问优化 接入层 逻辑层 表现层日志重构前问题分析数据量增长过快 总数据量9T 日增长量约20G 扩容需进行大量数据搬迁 Cache命中率低(50%),DB压力 大旧系统结构 模块 日志回复 日志标题 日志计数 优点 CACHE内存化,提 升性能 多进程号段分布处理 业务异步化 缺点 CACHE量有限,命 中率低,对DB的性能依 赖比较重 模块相互独立,容易 造成数据不一致Qzone数据层优化(日志重构)与产品经理的Trade-off 区分近期日志与往期日志 区分活跃数据、非活跃数

2、据和历史 归档数据 二级缓存(内存+文件) 针对单个号码进行路由新系统结构系统分三个模块:日志信息、日志标题、访问计数 CGI层对日志标题、访问计数模块有读/写权限;对日志标题模 块只有读权限,其数据来源于日志信息模块日志信息模块结构日志重构后的特点将数据区分为活跃数据、不活跃数 据和历史归档数据,减少Cache数 据量,提升Cache命中率 Cache根据数据访问活跃度进行扩 容 DB根据存储容量进行扩容Qzone日志重构前后数据对比重构前重构后数据量日志标题 Cache10台,69G,命中率90%10台,128G,命中率88%DB5台,340G5台,600G日志信息 Cache20台,68

3、G,命中率50%12台,3T,命中率80%DB20台,9T12台,10T日志计数 Cache10台,122G,命中率100%10台,122G,命中率100%DB4台,100G4台,100G访问量 日志标题7100次/秒6000次/秒日志信息5000次/秒4500次/秒日志计数7000次/秒10000次/秒Qzone访问速度慢Http请求量大,下载数据量大 用户CPU消耗高 用户经常投诉打不开QzoneQzone访问优化前测速Qzone访问提速优化 量化性能数据 关键路径时间点统计Yahoo 14 性能优化规则 Make fewer HTTP requests Use a CDN Add an

4、Expires header Gzip components Put CSS at the top Move JS to the bottom Avoid CSS expressions Make JS and CSS external Reduce DNS lookups Minify JS Avoid redirects Remove duplicate scripts Turn off ETags Make AJAX cacheable and smallQzone访问优化域名访问优化 静态页面与动态数据分离 减少http请求 降低浏览器CPU消耗 Ajax优化 Web Server优化

5、域名相关减少*域名的使用, 降低动态DNS查询请求 走访校园网及北方城市,发现双 ISP的local DNS的问题 前置机通过域名纠正被错误定位的 用户静态页面相关 拆分静态页面、图片、样式及flash,分散 至等静态文件域名 I的CDN外包 静态文件服务器优化 支持长连接 支持gzip压缩 使用expiresQzone http总 请求量静态页 面动态数 据相册图 片其他静态 数据804614146减少http请求合并小图片请求 合并css和js文件 合并动态数据请求 动态数据支持304 有效利用浏览器cache和js变量缓存 动态数据小图片的请求合并(css+背景图)合并css和js文件合

6、并css文件 进入Qzone只需要下载2个css文件 Css文件合并工具 合并js文件 删除无用字符(空格、换行等) Js文件合并工具合并动态数据请求合并多个模块的动态数据为一个静 态文件动态数据支持304 对大数据量的请求在存储层上增加时 间戳利用js变量和浏览器Cache利用js变量 Js将获取的动态数据放入数组变量 每次发起动态数据请求前检查数组 内是否保存了相应数据 利用浏览器cache 取消了Cache-Control: No-cache 使用url+随机数避免浏览器cache浏览器下载请求量和数据量对比优化 前优化后(无 Cache)优化后(部分 Cache)优化后(全Cache

7、)请求量160865812数据量2.4M1.5M48K8K降低浏览器CPU消耗 将XML修改为JSON 降低浏览器Parse XML的CPU消耗 支持跨域请求,减少proxy.html请求 减少iframe的使用 尽可能使用div 合理使用cookie 浏览器20个同域cookie的限制 减少因cookie过多造成的分包 Item文件检查工具Ajax优化进行数据分级,按优先级顺序请求 数据 打开Qzone所需的数据优先加载 异步化请求,尽量避免浏览器同域 下两个并发请求的限制 图片延迟加载 页面渲染相关的数据延迟加载尽可能多的Para-DownloadingWeb Server优化 拆分CGI

8、异步逻辑 将可以异步化的逻辑交给异步app server 处理 配置文件内存化 Cgi 90%的消耗在读取配置文件 使用gprof等工具 使用轻量级Web Server 放弃apache、优化httpsvr 减少共享内存加锁解锁的开销轻量级Web Server(qzhttpd) 性能部分: 所有机器的CPU的idle都维持在90% - 93%左 右 周末高峰期:最大请求量:900左右,平时都 维持在:200-400之间 原有服务和现有服务的差别: 周一 至 周四: httpsvr进程cpu最大占用率:10% qzhttpd进程cpu最大占用率:6%, 差别不大 周末: httpsvr进程cpu最大占用率:20% qzhttpd进程cpu最大占用率:10%, 差别较大Qzone访问测速(2007.10)Qzone访问测速(2007.11)Qzone访问测速(2007.12)运营和监控系统测速平台的搭建 自动化测试 自动化编译 模块间调用 服务器打包规范 发布流程的规范性能优化不可缺少的因素领导的重视 成立虚拟项目组负责性能优化 性能优化成为KPI 互联网运营部可用性考核 兄弟部门的支持 互联网运营部、互联网研发部、页 面制作组、系统架构部、运营技术中 心、管理工程部谢谢The End

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号