初探网站监控性能测试

初探网站监控性能测试


初探网站监控性能测试

  从当初的开发,到后来的功能加自动化测试,觉得自己需要去接触一些新的东西。从9月份开始,开始有个新的团队,专门负责网站的性能提高,于是,就跟老大申请了去支持这个team。

  首先,我这里说的性能测试,不是传统意义上的压测,所以我们tech lead一直在纠正我,不叫performance testing,而是叫site speed testing。国外的网站不会像淘宝会有那么大的流量,所以我们不是很看重压测,有监控就够了。

  做网站速度测试之前,首先我们要弄明白我们在意的metrics,那么有哪些关键的metrics呢?

 

 Metrics

  1.速度指标(SpeedIndex)

  速度指数是一个计算的指标,用来衡量页面渲染用户可见内容的迅速程度(越低越好)。关于计算方法, 可以参考http://www.nccgroup.trust/au/about-us/newsroom-and-events/blogs/2015/june/speed-index--how-it-works-and-what-it-means/。一般来说,SpeedIndex跟下列几个指标关联紧密:VisualComplete,StartRender以及Page Load Time。

 

 2.Backend Time

  主要是指浏览器向服务器发起一个request,拿到first byte的response的时间(TTFB:Time to First Byte)。

  3.Start Render Time

  浏览器拿到必要的渲染资源,解析后开始渲染第一个像素点的时间。

 

 4.Blocking CSS reuqests

  在浏览器渲染内容前,必须要拿到的CSS文件。

 

 5.Blocking JS requests

  在浏览器渲染内容前,必须要拿到的JS文件。

 

 6.Load Time (Page Load Time / Visually Complete Time)

  顾名思义,这个是加载一个页面的时间参数。

 

 7.Request count

  这个就包含了Image request / css request / html request / js request / font request 等等。 这些指标如果突增,一般都表明了一些问题。

  8.Request size

  跟第七条类似,只不过这个更关注的是大小。

 

 怎样做site speed testing?

  1.工具选择

  目前用的最多的应该是WebPageTest,一些付费软件比如说SpeedCurve,其实也是在WPT上包了一层。还有Sitespeed.io大家也可以看看。工具只是辅助手段,最主要的还是你觉得好用就好。

 

 2.怎样做测试?

  一般当你拿到一个新的功能需求的时候,你会去思考这个会不会影响site speed,如果会影响,大概会影响哪些指标。

  拿最近我做的一个ticket为例,主要的需求是去掉blocking js,那么从第一部分我们说到指标来看,这个很明显的是会影响到Start Render Time,那么我们需要做的就是创建一个测试,跑一段时间后,分析一下趋势。

  下面这个是当时我们拿到的测试结果:

初探网站监控性能测试

  从上表来看,Start Render Time 提升了一点点,但是我们会看到Page Load Time却变慢了很多。通过研究发现,原来是整个页面渲染的时候调用js的方式发生了变化,如下图所示:

初探网站监控性能测试

  那么这个时候,我们就不知道这是不是一个成功的尝试,因为page load也很重要,会影响到搜索引擎的ranking。通常这种测试我们都是放在ABtesting后面, 那么我们可以通过AB testing设置真实的用户流量去测试,看看实际测试的结果会不会带来好处,从而决定这是不是一个成功的尝试。

 

 3.怎样分析测试结果?

  上面我们说了要有针对性地去做测试,那么当我们发现某些指标忽然升的很高,那么我们需要怎样去分析呢?一般这个时候我们就要借助于waterfall了。从requests waterfall中,我们能看到每个请求的详细信息,通过这些信息,我们可以结合一下监控系统/log系统,来诊断是什么问题。

初探网站监控性能测试

  同样,我们从这些信息中,也可以分析出,我们能做哪些改进来提升整个网站的速度。

......

选自《51测试天地》原创测试文章(四十八)

初探网站监控性能测试

 推荐阅读

点击阅读?接口测试填坑的那些事儿

点击阅读?Python调用安卓adb命令(下篇)

点击阅读?知道这些,轻松处理临时任务



点击阅读?测试女巫之做个有灵魂的测试师

点击阅读?科技巨头们的测试之道—质量保证,法无定法

初探网站监控性能测试

点击“阅读原文”,查看更多内容!

初探网站监控性能测试