你的网站为什么会慢?——用YSlow为你的网站提速
在前面的文章我翻译的文章中分别从内容、服务器、JavaScript和CSS、图片、Coockies和移动应用等几个方面总结了34条提高网站性能的黄金守则,但是这些守则中,有一些是不常用到的,若非有实力的大型企业很难实现。对于小型网站,比如个人博客等在提高网站性能上可以首先考虑以下13条准则:
- 尽量减少HTTP请求
- 使用内容分发网络(CDN)
- 为文件头指定Expires或Cache-Control
- Gzip压缩文件内容
- 把样式表置于顶部
- 把脚本置于页面底部
- 避免使用CSS表达式(Expression)
- 使用外部JavaScript和CSS
- 减少DNS查找
- 削减JavaScript和CSS
- 避免跳转
- 剔除重复脚本
- 配置ETag
但是往往,一个网站不可能同时存在这些问题,最好能有一个工具可以为我们论断自己的网站存在的问题。幸运的是,Yahoo为我们提供了一款这样的工具——YSlow,你可以下这个网址去下载到最新版本。下面我们介绍一下他的安装和使用:
1、安装:
YSlow是Firefox的一个插件,目前还没有开发出IE版本,因此你必须装有Firefox 2.x版本。同时,YSlow是依附在Firebug上的,也就是说你的Firefo必须装有Firebug插件。如果你没有安装Firefox可以到Firefox官方网站上(注:目前还不支持 3.x)下载一个,同时可以到这里下载Firebug。
2、启用:
安装完成后,运行Firefox,会在右下角出现图标,点击即启动。下面我们看看如何使用YSlow以及如何使用分析数据等。
2.1 在Firefox中载入你要分析的网站(如个人博客等,本文又作者的PJBlog程序为例),点击右下角的YSlow图标,启动YSlow,点击Firebug中“Inspect”旁边的“Performence”按钮,即进行分析。我们会看到如下界面:
在这个面板的最上侧 Performance Grade:F(48)为YSlow对你的网站的综合评分,共分为6个等级(A-F)100分制,其中F等级最低,也就是说网站性能最差,不利于用户体验,A级最高,即网站性能最能最优。下面的列表中共列出了13个选项,这13个选项就是为你网站进行打分的参考标准。在每一个选项的前面会有A~F的评分,同样F为最差A为最好。点击右侧的“三角图标”或者右上角的“Expend All”可以展开具体内容。其中标记F的需要改进的项。具体改进方法可以点击文章一开始的13条建议进行查看。
2.2 点击“Stats”按钮查看网站状态:
缓存包括对JavaScript、CSS、图片、静态文件等,此外还有整个网站访问过程中进行HTTP请求的次数、Coockie文件的大小等。图片大体如下:
在上面的截图中,“Empty Cache”和“Primed Cache”分别代表浏览器缓存为空和存在一定缓存时的页面访问情况。在上面的图中我们可以看出,如果我们的页面使用了缓存,那么在以后的访问中性能会有面试的提升,两图相比,有缓存的访问只会下载HTML文件、IFrame框架以及IFram中使用的Js文件(这就是我们在前面的文章讲到的“要使框架数量最少”
,因为它不能缓存。1175K大小的页面增加缓存后只需要下载81K的文件,同时原来需要发送72次HTTP请求,现在只需要发送4次HTTP请求,要知道HTTP请求是页面性能中最昂贵的代价,因此,越少越好。
在下面的饼状图中展示了各内容在访问中所占的比重。可以看出,在存在缓存的情况下,Flash、JavaScript、CSS、Images等都已经不需要再加载了,除非你按下了“刷新”按钮。
再接下来是Coockie的大小,一般说来Coockie要越小越好。
2.3 Components,查看页面内容
在这个选项卡中可以看到页面的各个组成部分,如所使用的图片、flash动画、JavaScript文件、CSS样式表等等。
其中Type为文件类型,如JS、iframe、cssimage(CSS中的图像文件)、Image(页面中直接引用的文件)等;URL即文件的来源路径、Expire来件过期时间或者在浏览器中缓存时间、Gzip文件是否使用Gzip压缩、RespTime请求时所需要的时间、Size文件大小(解压后)、ETag唯一标志。
2.4 此外,YSlow还为我们提供了一些有用的小工具,点击右侧的“Tools”按钮
如JSLint,一款Minify Javascript的工具,可以简化你的JavaScript文件的大小,如文件中的注释、换行、空格等都会被去除以使文件最小。All JS和All CSS可以帮助你方便地查看文件中的JavaScript文件和CSS文件,Printable View是类似于Word中的打印预览工具
3、使用YSlow来提速
如果你的页面总分低于60或者处于E、F的水平,那么你就有必要对页面进行改进了,不要以为这项工作可以可无,在越来越讲求用户体验的Web2.0时代,如果你能为用户节省1ms的时间或者节省一个HTTP请求都会给你带来潜在用户。
对于小型网站来说如果提供自身性能增加用户体验呢?对于Web Host的主机租用者来说,他们不能直接接触到服务器该做些什么呢?在下面一节的文章,我将以PJBlog架设的博客系统来详细介绍如何提高网站的性能以增加用户体验。
你的网站为什么会慢?——用YSlow为你的网站提速的更多相关文章
- 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)
网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...
- 网站实战 从效果图开始CSS+DIV 布局华为网站
经过我们的前面css的学习,我们已经分模块的掌握的CSS的技术,但是,要是完整的做一个页面,我们还没有接触过,这次呢,小强老师来和大家完整的利用CSS+DIV做一个网站案例,我们来模仿下华为的网站. ...
- 【转】关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)
网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...
- 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)
本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...
- 关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)
Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳 ...
- [No00006B]方便的网络下载工具wget 可下载网站目录下的所有文件(可下载整个网站)
wget是linux下命令行的下载工具,功能很强大,它能完成某些下载软件所不能做的,比如如果你想下载一个网页目录下的所有文件,如何做呢?网络用户有时候会遇到需要下载一批文件的情况,有时甚至需要把整个网 ...
- 【PC网站前端架构探讨系列】关于中小型PC网站前端架构方案的讨论与实践
目 录 1.遇到的问题 2.目标 3.探讨 4.架构设想 5.流程 6.初步实现 7.存在问题 8.最后 遇到的问题 我在这个系列上篇文章 已经讲解并开始逐步应用模块化思想,不知大家还记不记得,题 ...
- 网站优化记录-通过命令预编译Asp.net 网站,成功优化到毫秒级别。
在去年一次项目上线时发现部署的站点首次访问跟回收后响应特别慢.(使用的是vs工具预编译的方式发布),在随后找到解决办法是通过命令预编译Asp.net 网站,成功解决站点响应在毫秒级别. 预编译 ASP ...
- 为什么各大网站都纷纷用起了https?哪些网站需要https(SSL证书)
其实最近我也在易维信网站的开发组内讨论应用全站https事宜. 其原因非常简单. 因为不断接到用户投诉说网站上出现影响浏览体验的大面积广告. 可是网站平常只针对未登录用户在顶栏和底栏打两小条广告.而且 ...
随机推荐
- netsat -ano 查看已占用的端口以及tomcat出现端口被占或者启动失败问题
A.在DOS命令下:输入netstat -ano——回车,可以查看已占用的端口,记下端口的PID,然后打开任务管理器,点查看,选择列,勾选PID确定,找到对应的PID,结束进程,如果结束不了或者结束后 ...
- 用PYTHON输入输出字符串
这段好懂的,可以互动. import sys import re class BadEmployeeFormat(Exception): """Badly formatt ...
- input text 不可编辑的解决办法
<div class="inp bg"> <input id="inp-query" type="text" name=& ...
- h.264并行解码算法3D-Wave实现(基于多核共享内存系统)
3D-Wave算法是2D-Wave的扩展.3D-Wave相对于只在帧内并行的2D-Wave来说,多了帧间并行,不用等待前一帧完成解码后才开始下一帧的解码,而是只要宏块的帧间参考部分以及帧内依赖宏块解码 ...
- 2016年QS亚洲大学排行榜
2016年QS亚洲大学排行榜 人民网北京6月14日电 (记者 郝孟佳)今天,全球高等教育分析机构QS全球教育集团发布了2016年QS亚洲大学排名.清华大学在亚洲20强大学中进步最大,比去年提升6名,上 ...
- 疯狂VirtualBOX 实战讲学录:小耗子之VirtualBOX修炼全程重现
疯狂VirtualBOX 实战讲学录:小耗子之VirtualBOX修炼全程重现 神级虚拟技术&云计算专家”小耗子”老师震撼分享 全球第—部完整深入的中文VirtualBox技术全程实战手册 全 ...
- TCP/IP 目录导航
用了近二十天的时间,把一本800页的书看完,感觉收获还是很大的.对网络,对这些协议有了深刻的认识! 知道了路由器与交换机的区别. 知道了IP地址的特点. 知道了网络的分层,物理层,数据链路层,网络层, ...
- (转载)PHP json_encode() 函数介绍
(转载) 在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存 ...
- 博弈论(SG函数):HNOI 2007 分裂游戏
Description 聪聪和睿睿最近迷上了一款叫做分裂的游戏. 该游戏的规则试: 共有 n 个瓶子, 标号为 0,1,2.....n-1, 第 i 个瓶子中装有 p[i]颗巧克力豆,两个人轮流取豆子 ...
- HDU-3854 LOOPS
http://acm.hdu.edu.cn/showproblem.php?pid=3853 LOOPS Time Limit: 15000/5000 MS (Java/Others) Memo ...