Web 性能优化十大诀窍

由 徐永久 发表于 2002年07月06日 18:14。

在我们很多的 Web 设计中,讲究最多的就是用户界面,以及功能的设计,而往往忽略了性能的调优。但是,当一个应用真正发布到生产环境时,却可能因为性能问题,而甚至出现推倒重来的情况。本文的一些诀窍对于所有的 Web 设计者来说,都是值得参考的一些闪光点。


# 采用 Weblint 或者其他的 HTML 检查工具来检查页面的标准兼容性
只有符合 HTML 4.0 标准的内容才能载入更快,同时也能在所有的浏览器上运行。基于微软的工具建立的页面甚至没有采用标准的 ASCII 码,而是使用了微软自己的专用字符,因此会在 Netscape 中显示为问号,减慢了刷新速度。
# 尽量少使用 JavaScript 和 样式表
JavaScript 是导致兼容性问题的最主要根源,浏览器挂起,弹出广告等等诸如此类都是 JavaScript 的“手笔”。而样式表需要在页面显示前独立下载。他们两者都有很好的特色,但是也带来不少的开销,因此还是尽量少使用。
# 在 Web 服务器上关闭反向 DNS 查询
如果打开反向 DNS 查询,服务器就能够记录客户端的机器名,而不是 IP 地址,但是这会造成巨大的性能损失。你可以在日志分析软件中打开查询功能。
# 采用页面压缩技术
IE4.0 以上和Netscape 3.0 以上的版本都有对WEB服务器传送来的压缩文件解压缩的功能,因此应该充分利用 Web 服务器上的页面压缩技术来提升性能。
# 采用简单的 servlets 或者 CGI
采用简单的 servlets 或者 CGI 或者 Web 服务器提供的 API ,而不要采用那些分布式的对象,像 CORBA 或者 EJB 等。这类对象只是用于提高程序员的代码书写效率,而对于最终用户而言,他们没有性能优势。
# 内存越大越好
Web 服务器,中间件以及数据库都是十分吃内存的,因此,如果硬盘经常繁忙的话,就需要考虑采购更多的内存了。
# 优化好数据库索引
如果数据库优化工作没有做好的话,每次点击一个 URL 都造成全表扫描,这种情形只要简单的加上适当的索引就可以解决。
# 减少数据库查询次数
如果能把中间件或者 servlets 的内容缓冲起来,能充分减轻数据库的压力,数据库连接是性能的最大瓶颈。
# 检查包丢失以及重传
如果网络带宽不够或者网络情况不好,容易造成数据包的重传,因此,应该经常检查网络的丢包情况。
# 采用 Web 缓冲技术
把用户对 Web 服务器的请求缓冲起来,能明显提高 Web 的响应性能。因此,采用 Web Cache 是每一个 Web 管理员应该考虑的最终解决方案。