某网站前端页面性能测试

news/2024/5/10 19:29:28/文章来源:https://blog.csdn.net/weixin_33672400/article/details/85081804

1页面性能测试概述

页面性能测试则是针对于页面性能优化而开展的一种性能测试,目的是对Web系统的页面进行测试以确认系统页面是否会影响系统的性能并为页面的优化提供依据与建议,最终提升系统的整体性能表现,提高用户体验满意度。他的关注点是在与页面,不在于后端。有别于我们通常说的性能测试。

相对于C/S架构的应用系统,Web应用系统所有数据都需要从服务器端下载,虽然浏览器有缓存机制,但客户每次访问仍然需要下载大量

很多人觉得如果有大量服务器做支撑,就不会存在性能问题,其实是不对的,当硬件达到一定水准后提升硬件已无作用。举个例子,当一个页面中包含几百个请求,页面中没有经过优化的javaScript文件、CSS 文件与图片件大小达到10MB,即使当前只有一个用户在访问该系统,页面的访问速度也会慢得惊人,纵使增加再多的服务器也不见得会有明显的性能提升。

2提高页面性能的一般方法

2.1减少请求和响应的往返次数

HTTP缓存是最好的减少客户端服务器端往返次数的办法。缓存提供了提供一种机制来保证客户端或者代理能够存储一些东西,而这些东西将会在稍后的HTTP 响应中用到的。(即第一次请求了,到了客户端,缓存起来,下次如果页面还要这个JS文件或者CSS文件啥的,就不要到服务器端去取下来了,但是还是要去服务器上去访问一次,因为请求要对比ETag值。

2.2减少请求和响应的往返字节大小

l 使用更少的图画

l 将所有的CSS浓缩到一个CSS文件中

l 将所有的脚本浓缩到一个JS文件中

l 简化你的页时间

l 使用HTTP压缩

PS:貌似太理想化了。。。。。

2.3太多了yahoo的22条规则,值的参考

3页面性能测试的环境搭建

环境为:Yslow+ShowSlow+WAMP(VertrigoServ)

步骤如下:

n 创建一个db为showslow

n 导入下载的ShowSlow中的tables.sql

n 把下载的ShowSlow放到www目录下,修改config.php中的

$db = 'showslow';

$user = 'root';

$pass = '123456'; //密码根据你的情况修改。

n 打开ff配置about:config

过滤器:yslow

修改下面三项内容:

extensions.yslow.beaconUrl=

http://localhost.com/showslow/beacon/yslow/

extensions.yslow.beaconInfo = grade

extensions.yslow.optinBeacon = true

n 重新启动浏览器:在浏览器内输入http://localhost/showslow/

n 如果页面上没有任何错误提示的话,恭喜你,你太幸运了。

n 启动ff,进入ShowSlow,然后在打开要测试的页面启动yslow

4测试范围

对线上的部分页面进行测试,如下:

www侧:首页、单品页、我的订单页

seller侧:订单管理

5 测试结果与分析

5.1 www侧:首页

测试时间:2011-9-30

地点:公司

5.1.1 减少http request

8个外部js

4个外部css

10个外部background images

不知是否可以使用CSS Sprites整合图片、合并CSS文件、合并JS文件。

5.1.2 加入CDN

html.xxx.com

www.xxx.com

log.xxx.com

img.xxx.com

5.1.3 设置过期的http header

可以将脚本, 样式表, 图片, Flash等缓存在浏览器的Cache中,不过也有一定的风险,毕竟js和css有一定的逻辑

具体列表见 首页-没有设置过期的http header的东东.txt

5.1.4 对页面组件进行gzip压缩

首页中有以下东东,不知是否可以进行压缩处理

· http://html.xxx.com/html/css/common0601.css

· http://html.xxx.com/html/css/header0811.css

· http://html.xxx.com/html/css/index0902.css

· http://www.xxx.com/css/jquery.autocomplete.css

· http://html.xxx.com/html/js/specl2.0.5.js

· http://html.xxx.com/html/js/ajax.js

· http://html.xxx.com/html/js/specl-utils.js

· http://html.xxx.com/html/js/jquery.autocomplete.js

PS:这个是一个在线的压缩工具,个人感觉不错,能给出比较好的压缩信息与参数,方便调试,地址:http://tool.lanrentuku.com/csszip/

5.1.5 js的位置

为了实现最大的下载并行,页面加载初期做的事,最好只有HTML的下载,CSS的下载,JS的下载等,下载完成后再去实现页面渲染,JS脚本运行等。所以一般的处理办法还是页面头部引入JS链接,页面底部执行JS脚本程序。

下面的链接,我试了下,除了第一个,剩余的都可以放到底部

· http://www.xx.com/js/jquery.js

· http://html.xx.com/html/js/specl2.0.5.js

· http://html.xxx.com/html/js/ajax.js

· http://html.xxx.com/html/js/specl-utils.js

5.1.6 设置ajax缓存

虽然ajax是异步的,但不能保证不会等待异步的这段时间,不过为避免重复的ajax请求,加上缓存也是件好事吧J

首页测试的时候只有一个地址,如下

http://www.xxx.com/ajax/loginInfoAjax.jhtml?jsoncallback=jsonp1317353338559

我看这个貌似是会员的一些信息,包括购物车中商品数,用户名、状态等

5.1.7 减少DOM元素的数量

首页中差不多有1584个DOM elements

是否可以优化下首页结构,毕竟首页是门帘,用户体验也很重要的!

5.1.8 尽量使用与域名无关的cookie

所谓的 cookie-free domains 就是在浏览器发送静态内容的请求时不会发送cookies 的域名。首页中有如下:

· http://www.xxx.com/js/100023.js

· http://html.xxx.com/html/images/header0811/bor.gif

· http://html.xxx.com/html/images/header0811/menu.png

· http://html.xxx.com/html/index0601/indexbg.png

· http://html.xxx.com/html/index0601/boder.gif

· http://html.xxx.com/html/index0601/h2bg.gif

· http://html.xxx.com/html/index0601/floorico.png

· http://html.xxx.com/html/index0601/botdy.gif

我看这里面有些图片一般是不会改变的,是否考虑放到静态服务器上,以减少cookie的反复传输对主域名的影响。

5.1.9 简单的统计数据

1523191717218befc5f7911

5.2 www侧:单品页

测试单品页为:

http://www.xxx.com/goods/3B2BDB2CF26A4641_453v4563.html

测试时间:2011-9-30

地点:公司

5.2.1减少http request

有21个外部js

6个外部css

12个外部background images

不知是否可以使用CSS Sprites整合图片、合并CSS文件、合并JS文件不知是否可以使用CSS Sprites整合图片、合并CSS文件、合并JS文件

5.2.2设置过期的http header

可以将脚本, 样式表, 图片, Flash等缓存在浏览器的Cache中,不过也有一定的风险,毕竟js和css有一定的逻辑。

详细的URL见 单品页-没有设置过期的http header.txt

5.2.3对页面组件进行gzip压缩

单品页中有以下东东,不知是否可以进行压缩处理

· http://www.xxx.com/css/jquery.autocomplete.css

· http://html.xxx.com/html/css/common0601.css

· http://html.xxx.com/html/css/header0811.css

· http://html.xxx.com/html/css/details0629.css

· http://html.xxx.com/im/css/webIM.css

· http://html.xxx.com/html/js/jquery.autocomplete.js

· http://html.xxx.com/html/js/search.js

· http://html.xxx.com/html/js/specl2.0.js

· http://html.xxx.com/im/cdjs/jquery.easydrag.js

· http://html.xxx.com/im/cdjs/jquery.bgiframe.js

· http://html.xxx.com/im/cdjs/plus-utility.js

· http://html.xxx.com/im/js/chat.js

· http://html.xxx.com/html/js/ajax.js

· http://im.xxx.com:9090/cdmocsc/commons/connection.jsp?...

· http://html.xxx.com/im/cdjs/jquery-1.4.2.min.js

PS:这个是一个在线的压缩工具,个人感觉不错,能给出比较好的压缩信息与参数,方便调试,地址:http://tool.lanrentuku.com/csszip/

5.2.4 js的位置

单品页中太多的js放到了头部

· http://www.xxx.com/js/jquery.js

· http://www.xxx.com/js/jquery.cookie.js

· http://html.xxx.com/html/js/jquery.autocomplete.js

· http://html.xxx.com/html/js/search.js

· http://html.xxx.com/html/js/specl2.0.js

· http://www.xxx.com/js/qt.js?...

· http://www.xxx.com/js/pageutil_20110706.js

· http://www.xxx.com/js/goodsdetail_20110705.js

· http://www.xxx.com/js/jquery.countdown.1.0.js

· http://www.xxx.com/js/jquery.lazyload.mini.js

· http://html.xxx.com/im/cdjs/jquery.easydrag.js

· http://html.xxx.com/im/cdjs/jquery.bgiframe.js

· http://html.xxx.com/im/cdjs/plus-utility.js

· http://html.xxx.com/im/js/chat.js

大部分的js都可以放到底部,尤其是一些直接写的function

5.2.5 避免css表达式

http://html.xxx.com/html/css/details0629.css

仅此一个,有时候迫不得已使用,不过还是少用为好,哈哈,这个玩意强大又危险

5.2.6 减少DNS查找

· www.xxx.com: 21 components, 285.7K (88.5K GZip)

· html.xxx.com: 31 components, 428.6K

· log.xxx.com: 1 component, 12.4K (4.1K GZip)

· img.xxx.com: 51 components, 409.2K

· space.feixin.10086.cn: 1 component, 0.0K

· wpa.qq.com: 1 component, 0.0K

· im.xxx.com: 1 component, 2.7K

没办法,这个没法控制的很好,即使是淘宝也一样,暂且飘过吧~

5.2.7减少DOM元素的数量

此单品页中有1243 DOM elements,呃。。。。和首页快有一拼了。。。。。

5.2.8 简单的统计数据

15231917171740f8d07eec2

左侧图表显示是页面元素在空缓存的加载情况,右侧为页面元素使用缓存后的页面加载情况

呃。。。这请求数貌似是比较多,赶上首页了,嘿嘿


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_714189.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站点击流数据分析项目

什么是点击流数据 1.1.1 WEB访问日志 即指用户访问网站时的所有访问、浏览、点击行为数据。比如点击了哪一个链接,在哪个网页停留时间最多,采用了哪个搜索项、总体浏览时间等。而所有这些信息都可被保存在网站日志中。通过分析这些数据,可以…

英文论文写作相关实用网站与工具整理

文章目录英文论文写作相关实用网站与工具整理1.文献查找与下载(1) 文献检索通用网站:出版商网站:(2) 文章下载对于中文文章、知网的文章等而对于英文文章2.文献管理Mendelay3.写作与翻译(1) 初步翻译(2) 精确表达a. 专业词汇的准确性对于专业词汇的准确性…

您与此网站建立的连接不安全_CDN加速网站SEO优化,这就是CDN

内容交付网络(CDN)是一种分布式服务器(网络)的系统,该系统基于用户的地理位置,网页的来源和内容交付服务器将页面和其他Web内容交付给用户。此服务可有效加快高流量网站和具有全球影响力的网站的内容交付。…

个人博客网站的设计与实现_使用hexo来搭建个人网站博客(超详细教程)

对于一个程序员来讲,有一个个人博客真的很重要,做项目中的 新知识点的总结,bug总结,还可以 锻炼自己的表达能力,所以百利无一害。今天说一下如何去搭建个人博客①:下载git方式一(官网下载):http…

outlook搜索栏跑到上面去了_南昌搜索引擎seo优化

搜索引擎sl31b10eo优化南昌,SEO排名,它是指搜索引擎优化关键词排名。而影响到seo排名的因素有很多,比如说域名注册的时间,服务器的空间速度和稳定性,或者像是网站整体的结构,网站的内容等等都是影响了seo排…

打不开_网站源码安装后打不开?教你解决打不开

今天花点时间给你们写一篇文章,如何解决安装网站源码后,打不开网站的问题,以免你们在网上下载源码后,也是挺烦的。网站源码安装后打不开的解决方法网站源码安装后要先审查域名是否有正确解析,网站环境是否有配置正确&a…

python django做网页论文_Python Web程序-Django框架搭建网站的简单介绍

安装方法:2.2.4版本pip install django2.2.4安装django,django像一个库一样加入了python库中。创建Django项目1.终端创建项目:#在D盘PythonCodeTest文件夹下创建项目cd D:/cd PythonCodeTest#使用命令 django-admin startproject 创建项目dja…

网站密码生成程序:python+pyqt5实例

实现功能: """ 1.给不同网站设置密码 2.密码组成方式由 大写,小写,数字,标点符号类别组成 3.生成txt文件保存 """ 1.gui设计: 前端生成py代码: # -*- coding: utf-8 -*-# F…

一个网站哪些页面需要用到redis_网页和网站有什么区别?做一个网站难不难?都需要哪些技能?...

概念梳理:网站和网页是包含关系,一个网站包含多个页面(网页)。 一般我们上网浏览的都是某个网站中的某个页面。具体逻辑如下图示:网页和网站的概念聊完了网站和网页的区别之后,我们一起来看看做一个网站到底难不难。刨除辅助功能&…

php网站怎么优化,如何优化你的Z-BlogPHP网站

相信现在有好多网站都在使用Z-BlogPHP的程序,就是因为它越来越安全,功能多之下还显得轻量简洁,本站也是zblog的一个用户了。现在发出教程来教大家如何优化zblog,又讲优化SEO的,也有优化网站界面的,是本站原…

想要导航提示页_如何优化网站导航呢?

网站导航可以给用户提供全面的引导,让用户快速的找到想要进入的栏目中,从而找到相关的内容。同时,导航也给蜘蛛爬虫提供了进入网站各个页面的入口,可以让蜘蛛爬虫更好的抓取页面内容。 一、为什么要优化网站导航呢? 1、…

深夜,我用python爬取了整个斗图网站,不服来斗

QQ、微信斗图总是斗不过,索性直接来爬斗图网,我有整个网站的图,不服来斗。废话不多说,选取的网站为斗图啦,我们先简单来看一下网站的结构网页信息从上面这张图我们可以看出,一页有多套图,这个时…

php默认登录文件,PHP 网站修改默认访问文件的nginx配置

搭建好lnmp后,有时候并不需要直接访问index.php,配置其他的默认访问文件比如index.html这时候需要配置一下nginx才能访问到你想要设置的文件直接上代码,如下是我的配置的一份简单的nginx到php-fpm的站点,该站点默认访问目录/ecmob…

网站上传服务器视频不能播放器,FLV格式文件上传服务器后不能播放的问题

FLV格式文件上传服务器后不能播放因为国内大多都是Win2003的主机.默认是没有指定输出FLV这种格式的虽然FTP里面可以看见,但无法通过http访问,也就无法播放了.[原因:WIN2003加强了IIS6的MIME验证,一切未注册扩展文件格式统统显示404错误。手动在IIS中HTTP…

刚刚,我顺藤摸瓜端了知名色情网站的老窝,并劝他从良

来自公众号:Hack感谢凌云给我的启发大家好,我是九歌前几天无意发现了一个色情网站,本着除暴安良的心态,直接开始对这个网站开始了调查这个网站的域名是.cn结尾的 【.cn是国内域名,无法隐藏注册人的信息】我去站长之家里面对这个网…

深夜,我用python爬取了整个斗图网站,不服来斗

QQ、微信斗图总是斗不过,索性直接来爬斗图网,我有整个网站的图,不服来斗。 废话不多说,选取的网站为斗图啦,我们先简单来看一下网站的结构 网页信息 从上面这张图我们可以看出,一页有多套图,…

宝塔建站 mysql在哪_宝塔面板安装LAMP,创建网站,创建数据库

宝塔面板安装LAMP安装宝塔面板宝塔面板当前有5.9版本,兼容centos6系列,还有6.8系列.我这里因为内存的缘故安装5.9版本.安装其实只要复制一条命令即可.使用xshell登录vps之后复制以下命令到xshell中回车执行:yum install -y wget && wget -O install.sh http://download…

试用期没过,因在公司上了 1024 网站...

最近浏览到一个知乎问题:某运营同学在试用期期间因为在工作期间上了某 1024 网站,导致试用期不过。 前两天还看到不少推文,大意是:看小电影前一定要注意网址是不是 HTTPS 的,因为 HTTPS 是加密的,别人就不知…

因提供18禁动漫,毒害未成年人,国内最大动漫网站被重罚

作为二次元 动漫迷们必备的在线观看漫画工具,那么“动漫之家”肯定是每个人必入坑之一,毕竟它的上线时间也是于2005年的时候。 最早一批的动漫网站,很早二次元喜欢的人,就在里面进行打卡分享番在这网站里的,也有业余大…

社区资讯 | Apache Flink 中文社区网站 Ververica 正式发布

众所周知,Apache Flink 最初是由德国柏林工业大学的几个博士生和研究生从学校开始做起来的项目,2014年,其核心成员开发了 Flink,同时将 Flink 计算的主流方向定位为实时计算并在同年将 Flink 捐赠给 Apache ,后来快速孵…