第一,前端优化 网站性能优化是一个综合性的课题,涉及到服务器的配置和网站的前后台程序。我只想分享一下我从实际经历中尝试过的网站性能优化的方法。之所以在题目中放一个web2.0,是因为本文更多关注的是中小型网站的性能优化,我使用的系统也是web2.0的典型LAMP架构。 首先说一下前端的优化。用户访问网页80%的等待时间发生在浏览器前端,尤其是下载页面和页面中的各种元素(图片、CSS、Javascript、flash……,...).所以在很多情况下,前端优化比起花大量时间在硬而复杂的程序改进上,往往能起到事半功倍的作用。雅虎最近向第三方披露了其内部性能测试工具YSOW,并公布了13条著名的网站性能优化规则。建议你下载并安装YSOW作为评估网站优化效果的工具。下面我选一个最有价值的来详细说明优化方法: 对于第一次访问您的网站并且没有将您的网站内容缓存在浏览器缓存中的用户,我们可以做的包括: 1)减少页面访问产生的http连接数 对于第一次访问您网站的用户来说,页面生成的http连接数是影响性能的关键瓶颈。 对策: -尽量保持页面设计简单,尽量减少图片的使用,放弃一些不必要的页面效果,减少javascript的使用。 -使用一些优化技术,例如使用图片的背景位移来减少图片的数量;影像地图技术;使用内嵌图像将css图片捆绑到网页中。 -尝试合并js和css文件,以减少独立文件的数量。 2)使用gzip压缩网页内容 使用gzip压缩网页中的静态内容,可以显著减少用户访问网页的等待时间(据说可以达到60%)。主流网络服务器支持或提供gzip压缩。如果使用apache server,您只需要在配置文件中打开mod_gzip(apache1.x)或mod_deflate(apache2.x)。对于所有静态页面,使用gzip压缩可以显著提高服务器效率,降低带宽开销。注意图片内容本身已经是压缩格式了,重要的是不要再压缩了。 3)页面顶部放CSS,页面底部放JS文件 CSS的引用要放在html的头部,JS文件的引用要尽量放在页面底部标签的后面。主要思路是让核心页面内容尽快显示出来。但是需要注意的是,在一些广泛使用js的页面底部可能会有一些js文件,可能会造成一些意想不到的问题,可以根据实际情况适当应用。 4)尽量减少JS文件的内容 具体来说,一些javascript压缩工具用于压缩js脚本,删除空白色字符和注释,并最小化变量名。在gzip压缩的基础上,js内容压缩可以提高5%的性能。 5)尽量减少外部脚本的使用,减少DNS查询时间 网页中不要引用太多外部脚本。首先,一个dns解析过程需要20-120毫秒;其次,如果页面引用了太多的外部文件(如各种广告、联盟等代码),你的网站可能会因为外部文件的响应速度而被拖垮。如果有必要,尽量把这些脚本放在页脚。但是需要说明的是,浏览器一般只能并行处理同一个域名下的两个请求,而不同子域的域名不受此限制。因此,将这个站点的静态内容(css,js)放在其他子域(比如static.xxx.com)下,将有助于提高浏览器并行下载web内容的能力。 (责任编辑:admin) |