如何构建高性能Web站点
By admin
- One minute read - 38 words人们评估一个web站点的性能如何,通常先置身于用户的角度,访问该站点的一系列页面,体验等待时间
在等待的时间里,大概经历了以下几部分的时间
数据在网络上的传输时间
站点服务器处理请求并生成回应数据的时间
浏览器本地计算和渲染的时间
作为web开发人员, 大部份情况下只要从”站点服务器处理请求并生成回应数据的时间”这点去考虑和设计, 尽量的减少在这一过程的时间,针对提高站点性能上的优化大概总结有如下方案.
1. 增加宽带
2. 减少网页的http请求
在不影响美观和功能的情况下,尽量减少图片和脚本
将多个图片合并为一个文件,利用CSS背景图片和偏移技术呈现在网页中,避免多个图片的下载
合并Javascript或者CSS
使用浏览器端的Cache策略,减少重复下载
3.加快服务器脚本运算速度
脚本语言编写的程序文件需要通过相应的脚本解释器进行解释后生成中间代码,脚本加速就是在这一过程中减少生成中间代码的时间。对于一些拥有较强商业 支持的脚本语言 ,比如Java和ASP.NET,均有内置的优化方案,如解释器对某个脚本程序第一次解释的时候,将中间代码缓存起来,以供下次直接使 用。对于开源类的脚本语言,也有很多的第三方组件来提供此功能,比如PHP的APC组件等。
4. 使用动态内容缓存
减少动态内容的重复计算,截取已经生成的动态内容,将动态内容的HTML输出结果缓存起来,在随后的一段时间内当有用户访问时便跳过重复的动态内容 计算而直接输入。
5. 使用数据缓存
与动态内容缓存将数据和表现整体打包相比,数据缓存主要是针对一些特殊数据,这些数据或者更新过于频繁,或者消耗大量的IO等待时间。如果将整个网 页全部缓存,对网页的其他部分内容似乎也不公平,于是引入部分数据缓存的概念和方法。
6. 将动态内容静态化
在动态内容缓存实现机制中,还是都要调用动态脚本解释器来判断缓存是否过期以及读取缓存,这似乎某些情况下也有些多余.若将网页直接静态化,生成 HTML,就不用消耗脚本解释器的时间。
页面组件分离
合理部署服务器
使用负载均衡
优化数据库
考虑可扩展性