启用Squid和MediaWiki的File Cache双重缓存
--James Qi 2008年11月6日 (五) 22:47 (CST)
摸索了一段时间后,对Squid设置进行了一些调整优化,又通过反复试验对MediaWiki的File Cache机制有了更多的了解,下决心将以前所有的MediaWiki网站全部都设置成了打开文件缓存功能,这样就有了双重缓存,应该对减少服务器的负载有一定的作用。
缓存的好处不用说了,担心主要是在刷新问题上,Squid是专业做缓存用的,MediaWiki也有专门针对与Squid配合的设置,刷新机制比较健全,默认的最大保存期($wgSquidMaxage)是18000秒(5小时),也就是无论这个文件是否更新,最长5个小时Squid还是回来从Apache重新读取。
而File Cache就设计得比较机械,对于动态页面列表等扩展支持不好,缓存了动态页面列表的页面后就不再更新了,我现在是通过设置$wgCacheEpoch = date( "Ymd000000" );
来让文件缓存每日零点后刷新,也就是此后的第一次匿名访问将重新读取MySQL生成新的缓存文件。
另外,前几天再次经历了百度降权的问题,反复检查后判断还是其技术不过关收录了一批不该收录的/index.php?title=QC页面造成了,重新修改了robots.txt和LocalSettings.php中的$wgNamespaceRobotPolicies严格禁止掉这些页面,希望过一阵子会恢复过来。此外,今天还很花了一些时间来把邮编和区号网站的Google Ajax Search API和Google Ad Manager的一些代码移到Monobook.php的head中去了。
补充:上面的固定时间更新方式有不足之处,就是需要更新整个网站的数据,其他的更新File Cache办法还有扩展程序:Extension talk:MagicNoCache、Extension:CacheManager,还可以在需要更新的页面中加入一个人工保持一定频率更新的模板,这样该模板变化后,调用的页面也会更新。 --James Qi 2009年5月5日 (二) 15:49 (CST)
标签:File Cache、缓存、Squid、MediaWiki。 |
相关内容:
|
别名:MediaWiki的文件缓存和Squid缓存同时使用、用MediaWiki的File Cache功能与前端Squid配合来联合降低服务器负载。