构建高性能WEB站点(一)

一般而言,评估一个Web站点性能如何,通常置身于用户角度,访问该站点一系列页面,体验等待时间。

当用户输入页面地址后,浏览器便向站点服务器发起一系列请求,这些请求不光包括对页面的请求,还包括对页面中许许多多组件的请求,比如图片,CSS,脚本(JAVASCRIPT),内嵌页面(iframe)等,待浏览器获得返回数据后讲过本地计算机渲染,一幅完整的页面最终才呈现在用户面前。

    访问页面都是需要时间的,有些时候时间还比较长,访问时到底发生了什么?事实上并不简单,大概经历了一下几个部分时间:

  • 数据在网络上传输的时间

  • 站点服务器处理请求并生成响应数据的时间

  • 浏览器本地计算和渲染的时间

这三部分每一点都包括很多方面,都花了很大篇幅来讲解,构建高性能WEB站点讲的就是怎样减少这三部分的时间。

系统性能的瓶颈在哪里?这个关键因素会随着系统的运行发生不断的变化和迁移,比如站点在数据存储量和浏览量增长到不同级别时,系统瓶颈也会发生迁移。

书中通过就以下几点讨论如何提升性能。

  1. 增加带宽

  2. 减少网页中的HTTP请求

  3. 加快服务器脚本计算速度

  4. 使用动态内容缓存

  5. 使用数据缓存

  6. 将动态内容静态化

  7. 更换WEB服务器软件

  8. 页面组件分离

  9. 合理部署服务器

  10. 使用负载均衡

  11. 优化数据库

  12. 考虑可扩展性

其中有几点我本身不是很清楚,特意记录下

第一点带宽是什么?带宽的单位是bit/s,其实是指数据的发送速度,不仅仅是数据在网络上的传播速度。比如我们的百兆网卡,就是指网卡的最大发送速度是100Mbit/s,也就是一秒钟最多发送100Mb的数据。

第二点减少HTTP请求,任何一个站点的页面都包含了很多组件,每个组件都需要计算、下载和渲染,都是需要时间的,毫无疑问,我们在网页中减少这些行为,就能提高展示页面的速度。

第八点页面组件分离,在Web站点中,页面中各种各样的组件它们的下载量和对服务器的能力各不相同,如果由同一台物理服务器或者同一种并发策略的Web服务器软件来统一提供服务,显然会造成资源的浪费和并发策略的低效。可以根据不同组件的需求,比如下载量、文件大小,对服务器各种资源的需求有针对性的采用不同的的并发策略,并提供最佳物理资源。

未完待续。。。

你可能感兴趣的:(构建高性能WEB站点(一))