使用dynatrace+showslow进行前端性能测试

1.背景

应用的性能测试与优化目前主要停留在服务器端的反馈,而对于前端性能标准的研究与测试相对比较空白,缺乏统一的标准与工具。众所周知,浏览器html组件的下载及渲染性能直接影响最终的用户体验,目前应用的前端性能有许多优化空间,因此对前端性能进行测试与监控,有利于提升客户体验,做到全方位的性能监控,实现“客户第一”的价值。

2.前端性能标准

目前较为流行且免费的前端性能评测标准及工具,是以yahoo的yslow及google的pagespeed为主。yslow和page speed是两款firefox浏览器下功能类似的插件,其主要功能是在用户访问网页时,可用此插件对当前访问的网页按若干条固定的评分标准进行前端性能评分。另有dynatrace也提供与yslow和page speed类似的评价标准。

2.1 yslow

评分标准:主要有35条评分标准,具体标准参见官方文档http://developer.yahoo.com/performance/rules.html

插件下载http://developer.yahoo.com/yslow/

插件运行:插件运行后,在firefox中访问网页,插件将会显示对该网页的评分,15个标准(使用到的评分标准数在不同版本的yslow插件中有所不同)从A-F进行打分。下图是对阿里巴巴中文网站首页的一个打分情况:

2.2 page speed

评分标准:pagespeed主要的评标准有29条http://code.google.com/speed/page-speed/docs/rules_intro.html

插件下载http://code.google.com/speed/page-speed/download.html

插件运行:pagespeed除了支持firefox外,还支持google chrome浏览器,下图是在firefox中用page speed评估http://www.1688.com的结果

2.3 dynatrace ajax edition

评分标准:评分标准分为四个大类,包括Cache、网络、Server端、JavaScript代码,每个大类都有A~F六个等级,各个大类下面的最佳实践细则与yslow及page speed类似http://community.dynatrace.com/ext/ajax/PUB/Best+Practices+on+Web+Site+Performance+Optimization

下载安装:https://www.dynatrace.com

运行情况:dynatrace可以支持firefox和ie,且其可支持到函数级的度量分析,在windows下运行dynatrace如下图所示

3.方案选择

3.1dynaTrace Ajax Edition

dynaTrace Ajax Edition是一款免费的前端性能评测工具,与非常优秀的yslow及page speed相比,其仍有几个不容忽视的优点:

1)         支持IE浏览器,这个优点直接秒杀另外两个工具

2)         支持JS函数级的性能分析

3)         对每条细则的建议更加详细具体

3.2showslow

showslow是yslow的数据收集与展示平台http://www.showslow.com/,它是一个开源的php项目,可以用来与firefox的yslow插件、page speed插件或者dynatrace通信,收集插件或程序所发送过来的信息并集中展示。只需要在dynatrace安装目录下进行一些设置,即可自动实现上传结果到showslow平台作为存档、分析及监控。

4.环境搭建与工具使用

4.1dynatraceAjax Edition

4.1.1 安装运行

从dynatrace官网http://ajax.dynatrace.com下载安装最新版本的dynatraceAjax Edition即可。dynatrace的启动可直接从菜单栏中进行运行,也可在IE插件栏中点击按钮运行。

4.1.2上传结果至showslow

对相应的链接右击,就可将相应结果上传到showslow

4.1.3 showslow中查看结果

showslow中看到的结果页面如下图所示:

4.2showslow环境搭建

1. 如是Linux平台,需要预先安装如下软件:libmcrypt-2.5.8,ncurses-5.7.tar.gz,zlib-1.2.3(要用64位方式编译http://blog.sina.com.cn/s/blog_5f66526e0100gkzu.html)。

2.安装MySQL,要求mysql5以上版本。

3.安装Apache,最好安装2.0以上版本。

4.安装php,要求php5.2以上版本。

在Linux平台上搭建apache+php+mysql的文档网上有很多,大家可参阅,我在安装过程中遇到的问题,在文档最后有一个环境问题总结,可能会对大家有帮助。搭建完成基本的mysql+apache+php之后,再用如下的步骤可搭建showslow环境http://www.showslow.org/Installation_and_configuration

第一步,下载showslow

下载showslow:https://github.com/sergeychernyshev/showslow/downloads

第二步,解压

解压showslow至某一文件夹,如:/www/showslow

第三步,设置apache

将showslow文件设置为apache的DocumentRoot,修改或添加httpd.conf文件内容如下:

<VirtualHost *:80>

DocumentRoot/www/showslow #目录主路径,必须有这个目录才写

DirectoryIndexindex.htm index.html index.jsp index.php default.html defautl.htm default.jsp

ErrorLoglogs/market-error_log

CustomLoglogs/market-access_log common

</VirtualHost>

第四步,新建数据库

在mysql中新建一个数据库showslow,授所有权限给showslowuser用户:

mysql> createdatabase showslow;

mysql> grant all onshowslow.* to showslowuser identified by ‘showslow‘;

并在showslow文件夹下的config.sample.php文件中进行如下所示的数据库参数的修改,修改完成后另存为config.php:

$db = ‘showslow‘;

$user = ‘showslowuser‘;

$pass = ‘showslow‘;

$host = ‘10.20.155.4‘;

第五步,更新数据库

绑定showslow到我们台式机的hosts文件里,方便访问(也可以直接ip访问):

10.20.155.4 www.myshowslow.com

启动Apache,可在http://www.myshowslow.com看到showslow平台,报错是因数据库未更新,访问http://www.myshowslow.com/dbupgrade.phphttp://www.myshowslow.com/users/dbupgrade.php将数据库中的表更新至与当前版本showslow一致。

第六步,设置dynatrace

dynatrace安装文件下的dtajax.ini文件增加如下三行,其中第三行可设置dynatrace自动上传结果至showslow:

-Dcom.dynatrace.diagnostics.ajax.beacon.uploadurl=http:// 10.20.155.4:8070/beacon/dynatrace

-Dcom.dynatrace.diagnostics.ajax.beacon.portalurl=http:// 10.20.155.4:8070/

-Dcom.dynatrace.diagnostics.ajax.beacon.autoupload=true

第七步,大功造成,上传并显示结果

按4.1节中的上传结果至showslow.com即可将前端性能分析结果上传至shlowslow。

4.3 dynatrace+showslow与UI自动化结合

只需要在ruby语言所写的自动化脚本中加入如下两行,即可在运行UI自动化脚本时,把UI自动化所访问到的页面的前端性能数据,通过所安装的dynatrace自动上传至showslow平台。

ENV[‘DT_IE_AGENT_ACTIVE‘] = ‘true‘

ENV[‘DT_IE_SESSION_NAME‘] = ‘Watir Sample Test‘

一个完整的示例代码也只需要8行:

require ‘pwatir‘

ENV[‘DT_IE_AGENT_ACTIVE‘] = ‘true‘

ENV[‘DT_IE_SESSION_NAME‘] = ‘Watir Sample Test‘

b = Watir::IE.new

b.goto(‘http://www.baidu.com‘)

b.text_field(:id, ‘kw‘).set ‘watir‘

b.button(:id, "su").click

b.close()

4.4 Linux中安装mysql+apache+php问题小结

4.4.1Can‘t connect to local MySQL server through socket‘xxx’

安装mysql后,运行mysql命令会出现ERROR 2002(HY000): Can‘t connect to local MySQL server through socket ‘xxx’错误,通常是由于安装完成mysql之后未启动造成的,执行/etc/init.d/mysqlstart即可。

mysql安装好之后,默认的root密码是空,mysql –uroot –p后在密码输入行直接回国即可命令模式以root进入mysql。

4.4.2 安装php时configure及make时报错的问题

从源码安装php时,要运行如下的编译项:

./configure --prefix=/usr/local/php5--with-charset=utf8 --with-extra-charsets=gbk,gb2312,utf8 --with-apxs2=/usr/local/httpd/bin/apxs--with-config-file-path=/usr/local/lib/php --with-mysql=/data/mysql--enable-mbstring --with-mysqli=/data/mysql/bin/mysql_config--with-mcrypt=/usr/local/libmcrypt

因此需要安装apache,mysql,mcrypt等软件之后,才能安装php。

4.4.3 php安装过程中httpd.conf相关的配置修改

在从源码安装php过程中,运行make命令后将php源代码目录modules下的libphp5.so拷贝至httpd/modules下,并在httpd.conf中加载这个module并添加两种文件类型:

LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php

AddType application/x-httpd-php .html

安装完成php后,需要将php源代码目录下的php.ini-dist拷贝至--with-config-file-path指定的/usr/local/lib/php目录下并改名为php.ini,同时在httpd.conf文件中指定php.ini文件位置:

PHPIniDir "/usr/local/lib/php"

时间: 2024-11-10 15:54:52

使用dynatrace+showslow进行前端性能测试的相关文章

性能学习-了解前端性能测试

原文:http://www.wangyuxiong.com/archives/51405 原文:http://www.cnblogs.com/fnng/archive/2012/07/11/2587196.html 性能测试一直是Web应用中非常受关注的部分,目前大多数人对于性能测试还主要集中在服务器端,重点都会放在服务器端的性能测试与调优,但实际上,除了考虑服务端在足够短的时间内返回页面数据之外,还可以从页面前端考虑. 从用户的感受来看,虽然传输速度受用户带宽的限制.但我们可以通过很多技术来使

前端性能测试工具

概要:要提升前端性能,有两大思路: 1>.减少页面加载所需要的时间. 2>.提升用户的观感,让用户觉得页面更快. 减少页面加载所需的时间,可以从请求的数量.请求的并发度及网络传输时间等方面来着手:而提升用户观感,则主要从让页面尽快开始显示入手. 常用的前端性能测试工具: 1.Apache Benchmark工具,简称ab,命令如下: ab -c[并发用户数量] -n[发出请求的数量] [被测试页面的URL] 2.Firebug工具 Firebug工具是一个备受推崇的.强大的Web开发工具,它提

H5前端性能测试快速入门

说到H5测试,对于做WEB测试的同学来说再熟悉不过了,它包括页H5功能测试,前端性能测试,浏览器兼容性能测试,以及服务端性能测试.那本文谈到的则是H5前端性能测试,并希望通过阅读本文后,能够知道:H5前端性能测试什么?如何发现问题以及相应的优化规则. 一.浏览器渲染引擎 浏览器是Html解析和页面最终展示的工具,所以测试H5前理解浏览器的工作原理是必不可少的,具体可参考<浏览器工作原理>. 浏览器的主要功能 浏览器的主要功能是将用户选择的web资源呈现出来,它需要从服务器请求资源,并将其显示在

【转】两款 Web 前端性能测试工具

前段时间接手了一个 web 前端性能优化的任务,一时间不知道从什么地方入手,查了不少资料,发现其实还是蛮简单的,简单来说说. 一.前端性能测试是什么? 前端性能测试对象主要包括: HTML.CSS.JS.AJAX 等前端技术开发的 Web 页面 影响用户浏览网页速度的因素主要有: 服务端数据返回.网络传输.页面渲染等 前端性能测试目的: 计算出包含页面渲染.网络传输以及服务器端解析等综合因素在内的加载时间指标,对该页面性能进行评估分析,找出影响性能的主要因素和瓶颈,并在此基础上,给出一定的优化建

用Docker安装Web前端性能测试工具YellowLabTools

一.YellowLabTools概述 1.YellowLabTools简介 Yellow Lab Tools:是一款开源的Web前端性能测试工具,具有一些在其他工具上无法看到的独特功能,如页面加载时,JavaScript与DOM互动和其他程序代码验证问题. Yellow Lab Tools 偏向于一个发现不良实践的工具,会综合页面权重.请求数.DOM.错误的Javascript.错误的CSS等方面取得一个综合评分.并显示出在加载页面的过程中,DOM 是如何相互影响. 2.YellowLabToo

前端性能测试工具hiper介绍

对前端性能测试工具还不了解,在请教了旁边的前端同事后学习到了简单的工具,在这里总结下. 前端的性能测试测什么? 以下是复制: 渲染引擎工作流 dom树构建:从html标签的解析开始,将各种标签解析为dom树中的各个节点,标签和dom树的中的节点是一一对应关系. 渲染树构建:将CSS和style标签中的样式信息解析为渲染树,渲染树由一些包含有颜色和大小等属性的矩形组成,它们将被按照正确的顺序显示到屏幕上. 渲染树布局和绘制:渲染树确定各个dom节点在屏幕中单确切位置,根据渲染树中的颜色等信息绘制出

转 ShowSlow+Yslow页面前端性能测试环境搭建

----//工具介绍 Yslow:YSlow是Yahoo发布的一款基于FireFox的插件. YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化. ShowSlow: ShowSlow平台用来收集页面性能测试工具Yslow的测试结果,并对测试结果进行分析展示.互联网上有一个在线的showSlow平台,免费提供Yslow的测试结果收集与展示.考虑到企业的某些系统可以存在商业机密,我们会搭建自己的环境. 在线的ShowSlow平台:http://www.show

web前端性能测试小点

关于前端性能的文章: http://www.cnblogs.com/fnng/archive/2011/09/19/2181894.html web应用的前端性能响应时间指浏览器的页面加载时间.浏览器的页面加载时间包括对html的解析,对页面图片及css等文件的获取和加载.客户端脚本的执行时间以及对你页面进行展现所花费的时间.这个与并发用户量的大小并没有直接的关系,主要关注:如何提高浏览器下载和执行资源的并发性,如何让浏览器尽快开始渲染页面,如何让浏览器尽可能充分的利用缓存.在yahoo中,到少

关于测试工具以及前端性能测试的一些思考

对于下一代测试工具的思考. 在以往的性能测试工作中,一直以来使用的测试工具框架都是基于请求-响应模型来进行开发的, 该模型是指脚本通过模拟HTTP请求并接收服务器的响应来针对被测对象的响应时间等考评指标来进行考评. 目前主流的性能测试工具都产生于瘦客户端的时代,而且由于基于的HTTP请求-响应模型本身是很标准的模型, 因此工具更容易做到普适性. 但是很多时候我们测试的结果看着很漂亮,但是实际用户在使用的时候却感觉系统性能糟透了, 抛开场景本身在抽象后与实际场景的差异,这种测试时间和体验时间之间的