美团通用性能监控平台和WEB性能分析框架.pdf_第1页
美团通用性能监控平台和WEB性能分析框架.pdf_第2页
美团通用性能监控平台和WEB性能分析框架.pdf_第3页
美团通用性能监控平台和WEB性能分析框架.pdf_第4页
美团通用性能监控平台和WEB性能分析框架.pdf_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

美团性能分析框架和性能监控平台 美团网 王仕军 美团性能分析框架和监控平台 前端组 王仕军 美团网 不讲什么? 业界最佳实践 ? ? ? ? 结果指标:如完全加载时间,domready,首屏等 讲什么? 讲什么? 优化美团主站性能遇到的瓶颈? 讲什么? 优化美团主站性能遇到的瓶颈? 如何突破这个瓶颈?成效如何? 讲什么? 优化美团主站性能遇到的瓶颈? 如何突破这个瓶颈?成效如何? 今天你可以带走什么? 遇到瓶颈之前 我们都做了什么? 6 我们都做了什么? 结果指标数据采集:完全加载,domready,首屏 6 我们都做了什么? 结果指标数据采集:完全加载,domready,首屏 依照“业界最佳实践”快糙猛的做了很多事情 异步化、静态化、lazyload、bigrender 6 我们都做了什么? 结果指标数据采集:完全加载,domready,首屏 依照“业界最佳实践”快糙猛的做了很多事情 异步化、静态化、lazyload、bigrender 决策多基于别人的经验(甚至拍脑袋)而非基于数据 6 遇到什么瓶颈? 燃料快用尽,优化无止境 异常波动无从解释 异常波动无从解释 无法挖掘更多的优化点 无法挖掘更多的优化点 我们需要的是这个 如何突破瓶颈? 我们到底在优化什么? 我们到底在优化什么? 文档生成速度? 我们到底在优化什么? 文档生成速度?资源加载速度? 我们到底在优化什么? 文档生成速度?资源加载速度? 渲染速度? 我们到底在优化什么? 文档生成速度?资源加载速度? 渲染速度?用户体验? 主文档 核心css 主文档 核心css 首屏图片 主文档 核心css 核心js 首屏图片 主文档 核心css 核心js 其他内容 首屏图片 主文档 瀑布流的背后? redirect redirect cache redirect cache dns redirect cache dns connect redirect cache dns connect send redirect cache dns connect send receive redirect cache dns connect send receive css wait css load redirect cache dns connect send receive css wait css load js wait js load redirect cache dns connect send receive css wait css load js wait js load img wait img load redirect cache dns connect send receive css wait css load js wait js load img wait img load 70% 20% 10% redirect cache dns connect send receive dispatch action template css wait css load js wait js load img wait img load 70% 20% 10% redirect cache dns connect send receive dispatch action template db cache service css wait css load js wait js load img wait img load 70% 20% 10% redirect cache dns connect send receive dispatch action template header content footer db cache service css wait css load js wait js load img wait img load 70% 20% 10% redirect cache dns connect send receive dispatch action template latency latency header content footer db cache service css wait css load js wait js load img wait img load 70% 20% 10% redirect cache dns connect send receive dispatch action template latency latency header content footer db cache service css wait css load js wait js load img wait img load 70% 20% 10% 分析框架 如何全面把控性能? 需要啥样的数据? 需要啥样的数据? 端到端 需要啥样的数据? 端到端 多维度 需要啥样的数据? 端到端 实时性 多维度 需要啥样的数据? 端到端 实时性 多维度多粒度 需要啥样的数据? 端到端 实时性 多维度多粒度 准确性 需要啥样的收集脚本? 尽量减少对业务代码的入侵和耦合 独立的数据收集脚本,类似 ga 的注入方式 不依赖于前后端框架,方便移植到其他项目 收集脚本不能影响被测量页面的性能 宿主页面完成加载后开始加载数据收集脚本 尽可能的合并性能数据的发送,节省带宽 如何获得所需数据? 如何获得所需数据? 主文档加载速度:navigation timing api 如何获得所需数据? 主文档加载速度:navigation timing api 静态资源速度:resource timing api 如何获得所需数据? 主文档加载速度:navigation timing api 静态资源速度:resource timing api 首次渲染速度:msfirstpaint 和 loadtimes 如何获得所需数据? 主文档加载速度:navigation timing api 静态资源速度:resource timing api 首次渲染速度:msfirstpaint 和 loadtimes 文档生成速度:后端应用内打点 如何获得所需数据? 主文档加载速度:navigation timing api 静态资源速度:resource timing api 首次渲染速度:msfirstpaint 和 loadtimes 文档生成速度:后端应用内打点 主文档加载速度 navigation timing api network backend frontend redirect dns connect send receive dom render redirectstart redirectend domainlookupstart domainlookupend connectstart connectend requeststart responsestart responseend domloading domcomplete loadeventstart loadeventend 如何采集主文档速度 在主文档 load 之前提供可暂存数据的接口 在主文档 load 之后注入数据收集脚本 利用 navigation timing api 收集过程指标 打上页面、地理位置、浏览器等标签 静态资源加载速度 resource timing api network backend redirect dns connect send receive redirectstart redirectend domainlookupstart domainlookupend connectstart connectend requeststart responsestart responseend 静态资源加载速度 resource timing api network backend redirect dns connect send receive redirectstart redirectend domainlookupstart domainlookupend connectstart connectend requeststart responsestart responseend timing-allow-origin:* 如何采集静态资源速度 利用 resource timing api 收集过程指标 额外计算静态资源的阻塞时间 打上 cdn 域名、地理位置等标签 主文档生成速度 如何采集文档生成速度 框架内埋点统计框架流程各环节时间 将性能数据以 js 对象的形式放在文档中 打上服务器、页面等标签 和浏览器端数据合并发送到性能平台 有了数据之后? 尽早输出第1个字节是否有效? 尽早输出第1个字节是否有效? 尽早输出第1个字节是否有效? 关闭 flush early 首字节时间+100ms 尽早输出第1个字节是否有效? 尽早输出第1个字节是否有效? 关闭 flush early 文档传输时间-150ms 尽早输出第1个字节是否有效? 尽早输出第1个字节是否有效? 关闭 flush early 首次渲染时间+300ms 尽早输出第1个字节是否有效? 快速试错 关闭 flush early 首次渲染时间+300ms 后端为什么那么慢? 优化后 后端为什么那么慢? 优化前优化后 后端为什么那么慢? 优化前优化后 优化方向 快速迭代是好还是坏? 快速迭代是好还是坏? 解释波动 快速迭代是好还是坏? 每天30余次上线,静态资源版本号变化频繁 解释波动 cdn是否正常? cdn是否正常? 服务监控 实际上我们走的更远 实际上我们走的更远 解决 1 个问题不如解决 1 类问题 性能监控平台 提供 1 站式的性能数据收集、计算、存储和展示服务 支持自定义的数据指标名称和数据维度 提供任意指标任意维度的实时数据查询 服务包括美团主站和商家后台在内的 10 余个系统 性能仪表盘 数据分析功能 总结 总结 深入剖析问题,形成框架,让黑盒变白盒 总结 深入剖析问题,形成框架,让黑盒变白盒 如果你无法测量,你就无法真的优化 总结 深入剖析问题,形成框架,让黑盒变白盒 如果你无法测量,你就无法真的优化 如果想真的优化,就需要测量过程指标 总结 深入剖析问题,形成框架,让黑盒变白盒 如果你无法测量,你就无法真的优化 如果想真的优化,就需要测量过程指标 解决 1 个问题不如解决 1 类问题:性能监控平台 研发工程师:http:/www.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论