WPO实例:纯文字网站的前台和后台WPO

标签: wpo 实例 文字 | 发表时间:2012-02-20 22:06 | 作者:
出处:http://www.iteye.com

 

帮一个朋友的网站  www.dirs.cn 做WPO优化。这个网站提供DNS解析、WHOIS查询、MX和A记录查询等免费服务。为什么要做WPO呢,因为网站经常出现很慢的情况,有的时候网页打不开。

 

笔者使用Pagespeed和YSLow工具查询,得分分别是91分和84分,已经是比较高的得分。

再分析一下网页组件,几乎全是文字,图片非常少。粗略分析了一下,

 

前端存在如下问题:

1. 没有gzip压缩

2. 大多数页面组件,缺少expires header

3.  书签采用了外部js插件(见上图红色框),js脚本来自 addthis.com,有的时候这个网站被墙,整个dirs.cn的页面载入就变得非常慢了。

4. 首页不统一,(见上图蓝色框)链接指向了 index.html 而不是 /,造成解析额外的负担。

5. 没有favicon.ico文件,既不美观,也影响性能。

 

前端对应解决方法:

1. 设置Gzip压缩。因为网站服务器是IIS6,设置有些麻烦,参见《 WPO基础:在IIS下设置Gzip压缩

2. 将  dirs.cn 所有的图片、脚本、样式表所在的目录,设置200天的expires header。也就是200天内,浏览器缓存都有效。将其他目录的expires header设置为2天后过期。

3. 将书签插件修改成超链接形式,取消js脚本。

4. 统一所有的首页URL为 /index.html

5. 在/images/ 目录下添加 favicon.ico 文件,并在所有页面Head区添加如下代码

<link href=” /content/images/favicon.ico” rel=”icon” type=”image/x-icon” />
 <link href=” /content/images/favicon.ico” rel=”shortcut icon” type=”image/x-icon” />

为什么放在/images目录,而不是根目录呢?images目录有200天的expires header,而根目录只有2天。favicon.ico 一旦建立,长久都不会改变,所以我们给予较长的expires header,放到images目录。

为了满足一下老版本浏览器和特殊的手机浏览器的兼容性,我们在根目录也放一个favicon.ico文件。

 

经过前端的设置,再经过gtmetrix的检测,分数大大提高,见下图

 

PageSpeed和YSlow的得分都提升到了94分。

 

还有些减分因素,是哪些呢?

  • Leverage browser cashing

—— http://www.google-analytics.com/ga.js

 

这是谷歌的分析脚本,我们处理不了。这里说多一句,谷歌分析最新的脚本,已经采用了异步调用,如果还没有更新的,最好更新一下,对于性能会有帮助的。而且谷歌服务由于众所周知的原因,经常发生被墙的状况,说不定你的网站某天打不开,真正原因是谷歌被屏蔽了。参见《 WPO实验:如果Google被墙,网站会出现怎样的杯具?

  • Use efficient CSS selectors 

这是说CSS里面有些效率不高的选择器。比如

table tr td 这样个选择器,用 td代替就可以了,因为td的父元素肯定是tr,tr的父元素肯定是table,不用重复标注。

CSS选择器对性能的影响不大,所以忽略。

  • Minify CSS

这是说要压缩CSS。为了可读性考虑,就没去改动了。

  • Minify Javascript

这是说要压缩Javascript。为了可读性考虑,就没去改动了。

当然还有一项没做的WPO,就是使用CDN。这一点估计很多国内个人网站都无法做到。

 

完成上述改动后,首次和第二次打开网页的速度大大提升。但还是无法解释之前出现的网页超时的问题。

 

后端存在问题和解决方法:

于是进入系统后台,进入数据库,看到有两个表

visitlog – 记录访客信息

querylog – 记录访客查询信息

select count看了一下,好家伙,每个表都有上亿条数据!

确认后,将数据清空,呵呵网站又一次变得费宽。

 

以上是一个简单的WPO例子,包括前台和后台。

 

作者: 谭砚耘@用户体验与可用性设计-科研笔记

版权属于: 谭砚耘 ( TOTHETOP至尚国际 )

版权所有。转载时必须以链接形式注明作者和原始出处

http://www.webusability.cn/wpo-example-for-website-front-end-and-back-end-1354/

如果你希望与作者交流,请发送邮件到 tanyanyun/at/163.com 别忘了修改小老鼠



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [wpo 实例 文字] 推荐:

WPO实例:纯文字网站的前台和后台WPO

- - ITeye博客
帮一个朋友的网站  www.dirs.cn 做WPO优化. 这个网站提供DNS解析、WHOIS查询、MX和A记录查询等免费服务. 为什么要做WPO呢,因为网站经常出现很慢的情况,有的时候网页打不开. 笔者使用Pagespeed和YSLow工具查询,得分分别是91分和84分,已经是比较高的得分. 再分析一下网页组件,几乎全是文字,图片非常少.

WPO基础:减少HTTP请求

- - 用户体验与可用性设计
减少HTML文档的组件数量,也因此减少了HTTP请求的数量,从而节约了载入网页的时间. 《高性能网站建设指南》中介绍到四种方法:. 采用CSS Sprites. 合并CSS样式表和JS脚本. 对于网店尤其是Zen-Cart网店来说,最后一种方法是很有效的. 因为Zen-Cart为了模块化和易读性考虑,将样式表和脚本分的很细,本来一个CSS文件搞掂的,可能会被划分成10个文件,并且分布在不同目录中.

文字雲

- Sopp - 網絡暴民 Jacky&#39;s Blog
看到這個 HTML5 文字雲:文章詞彙分析機 ,便餵以本站之 Feed,並拍照留念.

[原]Dubbo实例

- -
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. Remoting: 网络通信框架,实现了sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能. Registry: 服务目录框架用于服务的注册和服务事件发布和订阅.

CSS3 文字渐变

- slackware - 前端观察
之前,我们有发表过CSS文字渐变效果,但是其实那并不是纯粹的基于CSS的渐变,它需要一张半透明渐变的png图片. 今天我们将介绍两种使用CSS3实现实现文字的方法. 嗯,只有webkit浏览器支持,请暂时无视其它浏览器. 在《CSS的未来:一些试验性CSS属性》中,我们提到了这个属性,相对于Firefox只能用svg做mask,webkit则灵活很多,图片和css3渐变均可.

VisualVM 使用实例

- - 开源软件 - ITeye博客
VisualVM 是一款免费的性能分析工具. 监控程序运行的实时数据,从而进行动态的性能分析. 同时,它能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度. 转储:性能分析工具从内存中获得当前状态数据并存储到文件用于静态的性能分析. 1     系统转储:JVM 生成的本地系统的转储,又称作核心转储.

学习AngularJS实例

- - Web前端 - ITeye博客
怎么样快速学习AngularJS. 相信很多初学者都有过或者类似的疑问,其实这个问题没有标准的答案,每个人的技术背景、工作经验等等都不经相同,所以学习AngularJS的切入点肯定也就不同,我之前初略使用过knockoutjs,当我第一眼看到AngularJS的Helloworld案例后,顿时就被声明式的语法和强大的双向绑定特性所吸引.

Kafka编程实例

- - CSDN博客云计算推荐文章
    Producer是一个应用程序,它创建消息并发送它们到Kafka broker中. 这些producer在本质上是不同. 比如,前端应用程序,后端服务,代理服务,适配器对于潜在的系统,Hadoop对于的Producer. 这些不同的Producer能够使用不同的语言实现,比如java、C和Python.

kafka开发实例

- - 互联网 - ITeye博客
//启动zookeeper server (用&是为了能退出命令行):. //启动kafka server: . 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

闲侃中文字体

- Yuheng Kuang - 比目鱼博客
1.在平面设计中,“字体”是一项重要的基本功. White 在《平面设计原理》一书中写道:“组成 typography(排印)这个词的词根是 typo (文字)和 graphy (绘画),因此,它的字面意思就是用文字绘画. ” 2.英文字体数量繁多,让人眼花缭乱. 相比之下中文字体的数量非常有限. 原因很容易理解:英文字母少,汉字字数多.