drupal

关注公众号 jb51net

关闭
CMS教程 > drupal >

Drupal 启用缓存和Gzip压缩设置方法

脚本之家

Drupal4.x/5.x时代的性能问题在drupal6得到了非常大的提升.
但是还有有更进的一步的性能优化:对页面和静态资源的启用缓存和Gzip压缩传输.

Gzip现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。

可以期望:一些压缩比率高的内容如html页面,css,javascript等文本文件在服务器端压缩后,传送给客户端(浏览器),并在客户端以极快速度完成解压缩,并交给浏览器渲染页面和解释脚本.
在这一个过程中,极大地节省下载时间.而对此需要付出两个代价:
1.服务器端压缩消耗CPU资源
2.客户端解压缩消耗用户电脑的少量资源.

据说drupal7会提供Gzip压缩功能,可惜至少在目前drupal6.x的时代,我还享受不到这个功能. 但是,我们可以自己做.

1.合并,缓存

Drupal6常规的性能设置(Site configuration - Performance)中可以提升大量的性能:
Caching mode - 选择"Normal (recommended for production sites, no side effects)"
Page compression - 选择"Enabled"
Block cache - 选择"Enabled"
Optimize CSS files - 选择"Enabled"
Optimize JavaScript files - 选择"Enabled"

至此,
页面启用了压缩;
css文件和js文件都被合并到了一个文件里面,同时去除了文件中多余内容(空白,换行,制表符等).

2.启用Gzip压缩

打开includes/common.inc:找到:
file_save_data($data, $csspath .'/'. $filename, FILE_EXISTS_REPLACE);
在下面增加一行:
file_save_data(gzencode($data,9), $csspath .'/'. $filename . '.gz', FILE_EXISTS_REPLACE);
找到:
file_save_data($contents, $jspath .'/'. $filename, FILE_EXISTS_REPLACE);
在下面增加一行:
file_save_data(gzencode($contents,9), $jspath .'/'. $filename .'.gz', FILE_EXISTS_REPLACE);