|
一些MediaWiki搭建网站有可能因为持续受到服务器负载过高的困扰,就要考虑如何解决服务器负载的问题。可以对MediaWiki配置做一些调整,例如将全文检索关掉、页面计数器关掉,如果还是负载高甚至可以将$wgJobRunRate进一步降低到0.01,可以发现有一些效果。
类似的社区BBS等动态页面也可以尽量进行静态化,否则很难承受绝大的访问量。
期间主要操作是升级服务器,还要找程序员优化MediaWiki的代码等等,自己可以尝试逐步创造条件解决:
附在LocalSettings.php中的设置:
$wgUseFileCache = true; /* default: false */
$wgFileCacheDirectory = "$IP/cache";
$wgShowIPinHeader = false;
设置定期更新Cache内容:
$wgCacheEpoch = date( "01000101000000" ); #每世纪零年一月一日零点
$wgCacheEpoch = date( "Y0101000000" ); #每年一月一日零点
$wgCacheEpoch = date( "Ym01000000" ); #每月一日零点
$wgCacheEpoch = date( "Ymd000000" ); #每天零点
$wgCacheEpoch = date( "YmdH0000" ); #每小时整点
$wgCacheEpoch = date( "YmdHi00" ); #每分钟
$wgCacheEpoch = date( "YmdHis" ); #每秒钟
增加一个“刷新”选单(注意:需要设置MediaWiki:Refresh为“刷新”二字):
# add page-refresh tab
#
$wgHooks['SkinTemplateContentActions'][] = 'wfContentRefreshHook';
function wfContentRefreshHook( &$content_actions ) {
global $wgRequest, $wgRequest, $wgTitle;
$action = $wgRequest->getText( 'action' );
if ( $wgTitle->getNamespace() != NS_SPECIAL ) {
$content_actions['purge'] = array(
'class' => false,
'text' => wfMsg( 'refresh' ),
'href' => $wgTitle->getLocalUrl( 'action=purge' )
);
}
return true;
}
|
|