从用MediaWiki做网站开始,服务器负载一直就是个问题,为了解决这个问题,我们添加了各种缓存,如MediaWiki的多种缓存机制,包括File Cache,也加上了外部的Squid。后来做Drupal网站并不需要Squid,但因为服务器上已经安装了Squid,我们也只好把Drupal架设在Squid之后,另外Drupal也采用了内部core缓存和Boost缓存。
这些缓存机制可以解决不少问题,但缓存主要对数据量小、每页访问多的网站有明显效果,而对于数据量很大、每页访问少的网站起不到明显效果,有时甚至因为缓存文件过多起到反效果,而且缓存更新机制也有些小问题。
上周在升级Drupal 6网站的时候,我们把大数据量的网站Boost缓存都去掉了,这样才方便升级。
升级后发现有些站自动判断访问终端跳转到手机版的失败有些问题,电脑访问也跳到手机版,而且出现比较随机的情况,一时还无法查到原因,查看以前的工作日志发现这个问题去年11月Drupal升级后也有类似情况没有解决。今天把.htaccess都修改了还是不能看到变化,那只能是前端Squid缓存的问题了,加了cache deny后马上就看到跳转恢复正常了。本来准备只对Drupal网站和部分文件拒绝缓存的,后来干脆用一句cache deny all让Squid彻底不缓存文件了,这样再观察看看效果,如果对负载影响不大,以后就干脆去卸载Squid算了。
另外,一些MediaWiki网站我们做了繁体版、手机版,在更改电脑版后,同步更新有些问题,我准备稍后去把一些版本的File Cache关闭看看,只要对负载影响不大就准备都关闭。
评论2
让人郁闷的mediawiki静态化
filecache 加上之后,感觉并没有使程序的访问效率得到提高,甚是让人郁闷!对于页面数量少、单页面访问多的有效
我们以前有一个网站就是页面数量不多,但每个页面的访问量大(例如某些页面每天成百上千的匿名用户重复访问),那样用file cache有很明显的效果,但如果每个页面的访问量都不是很大的话,就看不到特别的效果了。