MediaWiki新版本中增加批量生成FileCache的维护程序
来自Jamesqi
--James Qi 2009年6月19日 (五) 11:36 (CST)
随着网站数据量和访问量的增加,不得不使用MediaWiki的文件缓存功能来降低服务器负载,前一阵子把File Cache的过期时间删除后,效果不错,但也发现有缓存错误而无法更新的情况,让同事帮忙写了脚本每天自动扫描错误的缓存文件,这个基本可以解决问题。
但让浏览者来访问的时候自动产生缓存有事会造成访问慢的情况,在MediaWiki 1.10.0升级到1.15.0后还需要整个网站全部缓存都需要重新生成的情况,在runJobs.php中有更新FileCache的功能,我当时想要是能有专门的生成、更新FileCache的程序就好了,今天在1.15.0的maintenance中发现有个rebuildFileCache.php,果然就是用于批量生产、更新FileCache的,这就太方便了!
用法也很简单:php rebuildFileCache.php <start> [overwrite]就可以,其中<start>可以从0开始,如果需要全部重新生成就带上overwrite的参数。
在一个1000多个页面的小网站Test:试用了重新生成File Cache,速度有些慢,但功能是能基本实现的。但发现几个问题需要注意:
- 页面下方发现多了计数器,可以注释掉这行:“$wgDisableCounters = false; // no real hits here”来解决;
- 生成的文件中“var wgServer = "http://wiki139";”、“取自"<a href="http://wiki139/...”,没有真正的网址,可以在程序增加一行:“$wgServer = "http://027.jamesqi.com";”来解决;
- 再仔细检查看看发现这个程序似乎没有去读取MonoBook.php中包含的其它文件特定设置,只有直接修改MonoBook.php,把需要补充的内容直接放在这里文件中,就基本解决了。
以后可以在需要的时候,像运行runJobs.php一样来集中执行rebuildFileCache.php,这对于我们网站来说确实很有用!
另外,1.10.0版本中没有这个程序,可以将1.15.0版本中的程序复制到对应的maintenance目录下使用,运行中会有一些报错,但不影响继续生成缓存文件。
标签:MediaWiki、File Cache、维护、程序。 |
相关内容:
|