通过网络手段对互联网应用进行性能优化
众所周知,网络优化是互联网应用程序性能调优手段中必不可或缺的组成部分,通常来讲,互联网应用的网络优化手段分为几下几个方面:
一、减少HTTP请求数
无数不争的实例证明,减少应用程序的HTTP请求数是最直接,最明显也是效果最佳的互联网应用程序性能优化手段(永远没有之一)。为了减少HTTP的请求数量,笔者认为至少应当从以下几个方面着手考虑。
为了性能,果断抛弃Ajax吧。
在当今Ajax技术如日中天的互联网架构时代,为了追求更好的用户体验,大多数互联网应用都大量采用Ajax异步请求的方式来进行“渐进”式的页面渲染。这种作法在增强了用户体验的同时,却悄无声息的大幅增加了HTTP请求的数量,将“碎片式”页面渲染转换成了服务器的并发压力。鱼和熊掌不能兼得,如果你想追求应用程序的性能,那么作出牺牲的时候到了,将原来设计上看起来很幽雅的“碎片式”的请求重新进行合并,使用一个请求将数据一次性带回客户端吧。
合并图片、脚本和样式单。
另一方面,页面上引用的图片、脚本及样式单等各种静态资源提供了另一部分的HTTP请求数,减少这些静态资源的请求数量也会显著的降低服务器的并发压力。将页面上多个小图标使用工具合并成一个图片文件,然后使用样式控制每次只显示图片的一部分。另外,基于相同的道理,将页面用到的多个脚本文件和样式单文件进行合并,以减少HTTP请求的数量。
使用Expires标识进一步减少请求数。
象页面中引用的JQuery脚本等第三方静态资源,由于变化频率很低,如果能让浏览器在第一次请求后在本地缓存中保留副本,并且在后继的访问中一直使用,这无疑不失为一个减少请求数的好办法。下面的方法通知浏览器在一个月内不要再次请求jquery.js,而是直接使用本地缓存的版本。