DynaTrace的评分分为2大部分:
1. 4个KPI(Key Performance Indicator) (占60%)
- 第一印象时间(即出现画面——浏览器的第一次渲染时间发生时间)
- onload事件时间
- 完全加载时间(所有onload的处理函数执行完毕,所有动态或者延迟加载的内容获取完毕)
- 请求数量
2. 4个分类评判标准(40%,各占10%)
- 浏览器缓存
- 网络资源
- JavaScript/Ajax
- 服务器端
评分的概念来源于yslow, page speed这些工具(100分最好,0分最差)(A=100-90, B=89-80, C=79-70, D=69-60, E=59-50, F=49-0)。初始分数是满分100,出现不符合标准的项目便扣除相应分数。
首先,我们来看4个KPI的评分方式:
- 第一印象时间:基准时间是1s,每超出其200ms,扣除1分;
- onload时间时间:基准时间是2s,每超出其200ms,扣除1分;
- 完全加载时间:基准时间是2s,每超出其500ms,扣除1分;
- 请求数量:基准是40个,每超出5个,扣一份;
(从评分方式可以看出,前三个3个时间KPI中,重要性是依次递减的。)
然后,我们再来看4个分类评判标准:
- 浏览器缓存:允许5个资源不设置cache,然后基于(cached和short-cached的资源)/(此页面所有资源)这个比例评分。没有cached的资源或者expires date设成过去时间的资源*,它们的扣分程度要比short-cached的资源严重(乘以1.5)。比如50个资源里,有10个没有cached,或者expires date设成过去,又有10个设成short-cached。那么结果就是:(5/50) * 1.5 = 15%,即减去15分(我们要除去允许的5个不设cache的资源);(10/50)=20%,扣20分;因此最后得分65分,即D Grade.
- 网络资源:基准是一个域名下允许1个css文件,6张图片,2个js文件。css文件每超出1个,扣1分;图片每超出5个,扣2分;js文件每超出1个,扣1分;http重定向(300s), 400s, 500s每出现一个,扣1分。
- JavaScript/Ajax:基准允许2个js文件,js代码块执行时间允许最长20ms,5个XHR调用。js文件每超出1个,扣1分;js代码块每超出50ms,扣1分(到2s上限,过了不再扣分);XHR每超过一个,扣1分。
- 服务器端:基准是6个发往应用服务器请求,每个请求花费的服务器时间不超过200ms。发往应用服务器的请求,每超过1个,扣1分;服务器时间,200ms-400ms, 扣1分、400ms-1s, 扣2分、超过1s, 扣4分。
最后,我们用得出的结果是:( 100 – 4个KPI标准中扣去的分数 ) * 60% + 浏览器缓存 * 10% + 网络资源 * 10% + JavaScript/Ajax * 10% + 服务器端 * 10%。
各项指标给了优化工作一个很好的方向,也可以让我们了解到优秀的Web Application应该大致符合什么样的标准。但正如DynaTrace自己也说到,某些情况下,低评分不一定就表明应用很烂。比如,如果js中如果有timer的话,它的执行时间会很长,但这并不表明js很臃肿。又比如我们的应用就是要用到很多XHR,那么没有必要为了提升评分,削足适履地去减少XHR请求。
分享到:
相关推荐
Speed Tracer是Google Chrome的一个插件,Speed Tracer的优势点是用于监控JS的解析执行时间,还可以监控页面的重绘、回流,这个还是很强的(DynaTrace也能有这个功能)。需要注意的是,安装这个插件需要安装Google ...
常见的WEB性能测试工具包括Firebug、HttpWatch、DynaTrace's Ajax Edition、Speed Tracer、Page Speed、YSlow等。 1. Firebug Firebug是Firefox中最为经典的开发工具,可以监控请求头、响应头、显示资源加载瀑布图...
- **DynaTrace's Ajax Edition**:一款免费工具,不仅可以检测资源加载瀑布图,还能监测页面呈现时间、CPU消耗、JavaScript执行时间及CSS解析时间等。 - **SpeedTracer**:谷歌Chrome的一个插件,主要用于监控...
- **DynaTrace**:提供动态分析能力,不仅记录请求和文件传输时间,还监测浏览器渲染、CPU消耗、JS解析等过程,为深入诊断问题提供数据支持。 ### 4. 前端性能指标分析 YSlow定义了七大类共35项性能指标,涉及内容...
DynaTrace's Ajax Edition是一个免费工具,适用于更全面的性能分析。它不仅能展示资源加载瀑布图,还能监测页面呈现时间、CPU利用率、JavaScript分析和执行时间,以及CSS解析时间,对于理解页面整体性能非常有用。 ...