由于前几日新开的Wiki站服务器压力有点小大,于是琢磨着开启缓存。本来站点使用了CloudFlare的CDN,但可惜命中率低下,服务器压力并不能缓解。于是只能退而求其次,使用文件缓存。当然MediaWiki的文件缓存功能和很多主流php应用一样,都是针对非注册用户的。
MediaWiki由于众所皆知的原因,并没有提供强大地后台管理页面,对Wiki站的配置主要集中在对LocalSettings.php这个文件的修改了。
MediaWiki 对File Cache主要由以下参数控制:
主要选项
$wgUseFileCache = true; /* default: false */
$wgFileCacheDirectory = "$IP/cache";
$wgShowIPinHeader = false;
其中$wgShowIPinHeader = false;选项为必须项,但是自2009年一月27日版本r46374起,该操作由系统自动完成,所以具体还要看你的Wiki版本是多少。
$wgFileCacheDirectory = “$IP/cache”;其中$IP意为指Install Path,即安装路径,是不能够通过LocalSettings.php设置的。$IP/后面接着的字符串即为你所指定的缓存文件夹。一般使用cache或者filecache。
$wgUseFileCache = true;该选项设置是否使用文件缓存功能,默认值是false,即不开启。
可选选项
$wgUseGzip = true;
该选项设置缓存文件为gzip压缩过的,当Client请求AcceptEncoding包含gzip时,即会返回*.html.gz的内容给服务器。
但是注意!在使用该参数之前,请确保您的MediaWiki并没有开启gzip,否则将会返回给用户2次gzip过后的内容,导致浏览器不能正常解析。本站Wiki通过修改index.php以及load.php的代码,为全Wiki站启用了gzip压缩,而第一次设置的时候没有考虑到这一点,还同时启用了$wgUseGzip导致浏览页面一片乱码,最终找到问题,并且此篇文章写成前也在官方Wiki站找到了相关说明:File Cache Compression
必须说,文件缓存还是很管用的,我的Wiki站服务器很差劲,不开缓存基本上需要20s才能完成一次渲染,而开启缓存之后,页面载入时间降到了2-3s,对于纯浏览用户来说,这是个巨大地提高。