`
suqing
  • 浏览: 183630 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

DynaTrace评分

阅读更多

 

DynaTrace的评分分为2大部分:

1. 4个KPI(Key Performance Indicator) (占60%)

  1. 第一印象时间(即出现画面——浏览器的第一次渲染时间发生时间)
  2. onload事件时间
  3. 完全加载时间(所有onload的处理函数执行完毕,所有动态或者延迟加载的内容获取完毕)
  4. 请求数量

2. 4个分类评判标准(40%,各占10%)

  1. 浏览器缓存
  2. 网络资源
  3. JavaScript/Ajax
  4. 服务器端

评分的概念来源于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的评分方式:

  1. 第一印象时间:基准时间是1s,每超出其200ms,扣除1分;
  2. onload时间时间:基准时间是2s,每超出其200ms,扣除1分;
  3. 完全加载时间:基准时间是2s,每超出其500ms,扣除1分;
  4. 请求数量:基准是40个,每超出5个,扣一份;

(从评分方式可以看出,前三个3个时间KPI中,重要性是依次递减的。)

然后,我们再来看4个分类评判标准:

  1. 浏览器缓存:允许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.
  2. 网络资源:基准是一个域名下允许1个css文件,6张图片,2个js文件。css文件每超出1个,扣1分;图片每超出5个,扣2分;js文件每超出1个,扣1分;http重定向(300s), 400s, 500s每出现一个,扣1分。
  3. JavaScript/Ajax:基准允许2个js文件,js代码块执行时间允许最长20ms,5个XHR调用。js文件每超出1个,扣1分;js代码块每超出50ms,扣1分(到2s上限,过了不再扣分);XHR每超过一个,扣1分。
  4. 服务器端:基准是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请求。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics