测试网页速度用YSlow网站策划维护工具
YSlow是yahoo美国开发的一个页面评分插件非常的棒从中我们可以看出我们页面上的很多不足并且可以知道我们改怎么却改进和优化。
仔细研究了下YSlow跌评分规则。
主要有12条
1. Make fewer HTTP requests尽可能少的http请求。 。我们有141个请求其中15个JS请求 3个CSS请求 47个CSS background images请求 多的可怕。思考了下为什么把这个三种请求过多列为对页面加载的重要不利因素呢而过多的IMG请求并没有列为不利因素呢
发现原来这些请求都是可以避免的。
15个JS和3个CSS完全可以通过特殊的办法进行合并这个技术部已经帮我们解决了实在是太感谢了嘿嘿。 这样合并以后一般情况下页面上只会出现一个JS和一个CSS 对JS的封装得有一定的要求 。
但是47个CSS background images请求改怎么解决呢为什么页面上的纯IMG请求时合理的而CSS background images请求过多就是不利因素了呢。这个我想了很久总算明白原来是这样的
一般页面上的ICON栏目背景啊 图片按钮啊我们都会用图片CSS背景来实现而一般这个图片CSS背景用到的图片都是比较小的所以完全可以把这些图片合并成一个相对比较大的图片这样页面上只会出现一个CSS backgroundimages请求最多也就2-3个。后来仔细看了下雅虎美国的页面他们的确也是这样做的虽然这样做需要花一定的时间来有规则的合并这些ICON栏目背景 图片按钮 以方便CSS调用但是这样做绝对是合算的而且是有必要的YSlow也是极力推荐的。
2. Use a CDN这项我们的评分是F级最低。说实在的我刚开始什么是CDN都不知道。后来查了GOODLE才知道。 CDN的全称是Content Delivery Network即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构将网站的内容发布到最接近用户的网络”边缘” 使用户可以就近取得所需的内容解决Internet网络拥挤的状况提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。
看来上述的解释后基本上明白了CDN是怎么回事后来咨询了下中文站点SA得知我们网站目前的确还没有做CDN的优化但是据说我们有更加先进的技术来解决类似的问题具体什么技术那就保密了 但是毕竟CDN也是个相当不错的技术所以在我们先进技术的基础上在做CDN优化肯定比现在更好嘿嘿。据说SA明年会做几个点的CND。
3. Add an Expires header设置过期的HTTP Header.设置Expires Header可以将脚本,样式表, 图片, Flash等缓存在浏览器的Cache中.
其实我们网站也做了这个优化至少图片在这个上做过优化但是没有做完全。我们的CSS和JS都还没有做过优化倒是外部引入的一个广告JS做了呵呵。其实设置过期的HTTP Header更应该做在脚本,样式表, Flash上.不过据说这
个SA也是没有做的但是有一定的风险因为JS和CSS是有一定的逻辑如果服务器端和客户端都存在缓存的话万一出了什么问题对我们以后查找问题的所在和增加难度不过我想两者中是可以权衡和并存的。
4. Gzip components对我们的页面内容进行Gzip格式的压缩 Gzip格式是一种很普遍的压缩技术几乎所有的浏览器都有解压Gzip格式的能力而且它可以压缩的比例非常大一般压缩率为85%就是说服务器端100K的页面可以压缩到25K左右的Gzip格式的数据发给客户端客户端收到Gzip格式的数据后自动解压缩后显示页面。
这点我们网站基本上是100%做到了但是我们这项的评分并没有达到想象中的A级原因是出在我们的外部链接 比如我们首页有外部的广告投放JS这个JS说拥有的网站是没有做过GZIP优化连累了我们网站所以我们也只有B或者C级
5. Put CSS at the top把CSS外部链接放到页面的顶部。
其实这个原则我们一般都遵守的如果把CSS外部链接作为逻辑的一部分出现在页面头部以下我个人觉得这个本身就是个错误。还好我们的页面基本上都做到了可是有些页面比如LIST页面还是出现了和逻辑挂钩的CSS链接原因是为了解决一些本来就不合理的产品逻辑。所以我们WEB前端工程师有义务杜绝这些不合理的产品逻辑破坏我们的页面结果及页面加载速度不能为了实现而实现。
6. Put JS at the bottom把Javascript脚本尽量放到页面底部加载。一开始为以为Javascript脚本尽量放到页面底部加载是指所有的JS脚本都要放到底部后来才发现并不完全是这样这里所指的脚本是指那些在加载过程中要执行的脚本所以一般的处理办法还是页面头部引入JS链接页面底部执行JS脚本程序。为什么要这么做呢呵呵其实很简单为了实现最大的下载并行页面加载初期做的事最好只有下载 HTML的下载 CSS的下载,JS的下载等下载完成后再去实现页面渲染 JS脚本运行。这个方面我们还需要努力很多页面我们在加载过程中运行了一部分脚本或许是为了实现一些功能没有办法不过或许有更好的办法来替代呢。 。 。
7. Avoid CSS expressions避免CSS表达式
其实在CSS中运行表达式和页面加载中运行大量的JS脚本差不多或许还更慢而且还不兼容虽然可以使我们在页面逻辑简单不少但是我们完全可以抛弃之。这个点我们的页面基本上都做到了。不过说实话 CSS表达式嘿嘿我以前还不知道有这么回事。惭愧。哈哈。
9. Reduce DNS lookups尽可能少的DNS查找。
这项我们做的不是很好。 D级有9个域名一般不要超过4个。不过这个主要是服务器架构上的问题我们也无能为力现在单单首页的广告域名就有好几个好耶的广告域名雅虎的广告域名淘宝店广告域名打点的域名。如果去掉这些我们其实还是够用的一个主域名一个图片的一个STYLE的最多加上IFREAM的刚好4个。
10. Minify JS对Javascript代码进行压缩。
这点我很早以前就对此关注了也找到了一个不错的压缩工具 yuicompressor雅虎美国开发的JAVA压缩包yuicompressor. jar。压缩的相当完美不仅把代码间的空格换行给去除掉了而且对变量名北部方法名都进行的简化无意中
实现了混淆脚本的作用。现在我们仅仅做到了JS合并并没有对齐进行压缩如果我用yuicompressor手工的去压缩虽然实现了JS压缩但是给我们自己的维护量增加了一倍 因为我们需要维护2套JS脚本一套是压缩前的调试用的 一套是压缩后发布到网上的 而且要保证2套代码一致。所以最完美的做法是在发布的时候实现JS脚本合并并对其用yuicompressor进行压缩然后发布到晚上把关键点移到发布的时候这样我们只需要关心一套JS脚本
发布前的版本 。而且我觉得这个方案完全是行动通的。
11. Avoid redirects避免重定向跳转
怎么理解这点呢
我们经常遇到的一种做法注册成功后旺旺会有一个页面提示“你已经注册成功 3秒后将自动跳转到XX页面” 。我就觉得很奇怪你为什么不直接跳转到该去的页面还有一种我们大家非常熟悉一般我们页面的链接都写成http://china.alibaba.com或者http://china.alibaba.com/,有人会问有区别吗我明确的告诉大家有服务器如果接收到的URL是http://china.alibaba.com它会自动重新定向到http://china.alibaba.com/虽然最后都打开了阿里巴巴中文站的首页但是前者比后者多走了一步,重定向显然多多少少浪费了一定的时间。所以以后我们加URL链接的时候别忘了把最后的“/”给加上去。
12. Remove duplicate scripts去除重复的脚本
这个其实没有什么好说的大家都应该毫无条件的去遵守但是越是明显越是简单的事我们往往会做不好当然很多理由的项目时间太紧张了等等导致代码很乱很多重复的地方。其实谁都知道重负不好不过还好我们的页面重复的脚本代码不多至少一个页面里面呵呵 。不过我到是希望我们不仅要做到一个页面脚本不重复而且要做到N个页面脚本要重用。
13. Configure ETags这个好像是服务器端配置的问题我不太懂也就不乱说了怕把大家给误导了。
总共13个但是看了YAHOO的官方说明好像还有一个AJAX CACHE(AJAX缓存) 。我倒是觉得这个很重要随着我们AJAX应用的广泛 AJAX缓存这个概念一定要时刻在我们脑子中 AJAX是个好东西但是重复的数据无休止的向后台申请绝对是个错误不仅是速度上还是对服务器压力上来说 所以我们就要对我们已经申请到的数据进行缓存当第2次用到的时候就直接从缓存中取不要在去访问我们宝贵的服务器资源了。其实这个思想不仅仅适合AJAX在所有有数据复用的应用中都应该考虑到。
YSLOW就分析到这里完毕了或许有些地方分析的不是很正确或许有人分析的比我更早更好但是这些的确是我从工作中去积累发现的并很多都实际应用到工作中去了顺便说下嘿嘿 LIST页面进行优化后在0.92版本的YSLOW评分将达到76分甚至80分相当于0.8版本的90分以上。不过评分毕竟是评分关键还是速度。
ucloud美国云服务器怎么样?ucloud是国内知名云计算品牌服务商家,目前推出全球多地机房的海外云服务器。UCloud主打的优势是海外多机房,目前正在进行的2021全球大促活动参与促销的云服务器机房就多达18个。UCloud新一代旗舰产品快杰云服务器已上线洛杉矶节点,覆盖北美和亚太地区,火热促销中, 首月低至7元,轻松体验具备优秀性能与极高性价比的快杰云服务器。点击进入:ucloud美国洛杉矶...
IonSwitch是一家2016年成立的国外VPS主机商,部落上一次分享的信息还停留在2019年,主机商提供基于KVM架构的VPS产品,数据中心之前在美国西雅图,目前是美国爱达荷州科德阿伦(美国西北部,西接华盛顿州和俄勒冈州),为新建的自营数据中心。商家针对新数据中心运行及4号独立日提供了一个5折优惠码,优惠后最低1GB内存套餐每月仅1.75美元起。下面列出部分套餐配置信息。CPU:1core内存...
野草云月末准备了一些促销,主推独立服务器,也有部分云服务器,价格比较有性价比,佣金是10%循环,如果有时间请帮我们推推,感谢!公司名:LucidaCloud Limited官方网站:https://www.yecaoyun.com/香港独立服务器:CPU型号内存硬盘带宽价格购买地址E3-1230v216G240GB SSD或1TB 企盘30M299元/月点击购买E5-265016G240GB SS...