唯有前进值得敬仰

---等得越久,相聚时越幸福
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Web性能优化初探(一)

Posted on 2013-04-27 21:36  绿豆芽33  阅读(246)  评论(0编辑  收藏  举报

最近在做性能优化相关的工作,也了解了一些web性能优化的方法。简单总结一下。首先得知道哪些地方是性能瓶颈,哪里导致页面打开慢。一般通过浏览器自带的网络功能,可以看到页面打开时下载各组件花费的时间,比如css,js,图片等,大体上了解哪些环节慢。对于web服务端程序性能瓶颈的分析,则可以借助于一些分析统计工具。比如后面我们即将讨论的php程序,可以使用xdebug工具统计各function消耗时间。

Web站点常用的优化方案主要有哪些?很感谢《构建高性能web站点》一书,我在工作中的很多方法也是参考这本书去做的。后续内容的组织也按照这本书的结构,也算是这本书的读书笔记了。

  1. 增加服务器带宽。多适用于以提供下载服务为主的站点。
  2. 减少网页中的http请求

    a)使用CSS Sprites将多个图片合并为一个图片,再利用CSS的“background”偏移技术进行定位。

    b)合并js脚本或css文件。Nginx服务器的concat模块就支持js合并。

    c)使用浏览器的缓存策略减少重复下载。一般需要服务端配合,设置响应的header,给浏览器发送了Last-Modified、Expire或Etag数据。

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

   服务器脚本(比如php)编写的程序需要通过脚本解释器解释后生成中间代码,然后依托在解释器的运行环境中运行。如果能缓存中间代码,下次直接使用将省去解释时间。PHP的APC组件提供此类功能。

  4.使用动态内容缓存和数据缓存

   动态内容缓存是把数据和展现整体打包,数据缓存则是对动态内容中的一部分频繁访问的数据进行缓存。Smarty、APC、Xcache、memcache。

  5.将动态内容静态化

   直接访问动态内容的缓存结果——html网页。

  6.web服务器缓存

  7.反向代理缓存

  8.优化web服务器配置和内核参数

  9.页面组件分离

   可以很好的利用浏览器的并行下载。

  10.使用负载均衡

  11.数据库性能优化

   除了增加服务器带宽没法做实验后面陆续介绍这些方法。以前都不知道什么是带宽,费笔再记一下。带宽就是数据的发送速度。限制带宽只要限制交换机对于你主机的数据接收速度,就控制了主机的出口带宽。

 

下期预告——Web性能优化初探(二)opcode缓存