我们安装了MediaWiki,并抱怨它的运行速度越来越慢。我们如何提高速度/性能?
我有一个秘诀(我将在下面添加),但是我真的很想听到更多。每个答案最好有一个提示。
我们安装了MediaWiki,并抱怨它的运行速度越来越慢。我们如何提高速度/性能?
我有一个秘诀(我将在下面添加),但是我真的很想听到更多。每个答案最好有一个提示。
Answers:
而不是内存缓存,尤其是在您的站点较小到中等的情况下,因此所有hmtl页的总大小都不是问题-一种简单的解决方案是仅打开文件缓存。
http://www.mediawiki.org/wiki/Manual:File_cache
今天,我花了几个小时试图在我的共享主机上(在bluehost上)打开任何mediawiki建议的内存缓存解决方案,但发现没有办法,然后发现了这个选项,它解决了所有问题。
这是打开了文件缓存的Wiki:
http://robertinventor.com/bmwiki
根据Google Analytics(分析)日志,在文件缓存之前,加载大多数页面需要花费几秒钟,有时甚至更长,有时甚至需要几分钟。
这里有一些很棒的技巧。对我而言,最大的影响(在IIS 7上从8秒变为0)是启用缓存和更改$wgDBserver = "127.0.0.1";
(从localhost)。由于某种原因,本地主机已通过网络解析。
这是Jaded的全部文章:
最大的影响之一就是将负载从15秒减少到6或7左右,这是启用Mediawiki缓存和加速的方法,如本文所详述:http : //www.charlesrcook.com/archive/2012/09/12/ mediawiki-iis7-输出缓存和友好的short-urls.aspx。简而言之,请在Mediawiki localsettings.php文件中启用以下功能:
$wgCacheDirectory = "c:\your\path\to\cache";
$wgFileCacheDirectory = "c:\your\path\to\cache ";
$wgEnableSidebarCache = true;
$wgUseFileCache = true;
$wgShowIPinHeader = false;
$wgEnableParserCache = true;
$wgCachePages = true;
$wgMainCacheType = CACHE_ACCEL;
$wgMessageCacheType = CACHE_ACCEL;
$wgParserCacheType = CACHE_ACCEL;
$wgMemCachedServers = array();
确保本地IUSR和IIS_IUSR帐户对缓存目录具有“修改”权限,否则Mediawiki缓存引擎中的文件和目录将无法对其进行写入。
我对使用Wincache的PHP缓存进行了一些较小的更改,但是几乎没有影响-如果您希望从PHP的角度来看,请启用并配置它,但是不要指望大的进步。MySQL查询缓存也是如此-我的Wiki站点相对较小,使用最少,因此MySQL查询缓存并没有太大的改进。
为了使网站更快速运行,棺材里最后一个钉子是修改了我的Mediawiki LocalSettings.php文件中的$ wgDBserver设置。它设置为“ Localhost”,这篇文章http://forums.iis.net/t/1153459.aspx/3/10建议在Windows 7及更高版本上使用“ Localhost”,并且Server 2008及更高版本开始将IPv6纳入页面查询。传输层必须解析本地主机,并且通过在IPv4和IPv6地址之间进行协商来实现,PHP和MySQL在允许页面呈现之前需要解析该地址。看来这仍然不是一个完全受支持的集成协议,因此将$ wgDBserver设置为IPv4地址“ 127.0.0.1”会将呈现过程从6秒缩短到了1秒-问题已解决!
首先,您必须确保使用Apache服务器。如果您已安装在Windows Server或IIS上,Mediawiki的速度会变慢。如果在Windows Server上,请将“应用程序文件夹”移动到Linux Server。Windows和Linux Server for Mediawiki指南
这可能与当前版本的MW无关,但请检查php设置mbstring.func_overload
。我将其设置为2(这是进行小型zabbix安装的必要条件),并且它破坏了在同一服务器上安装1.12 MW的性能。
使用php操作码缓存,请确保dB不是瓶颈,请考虑使用像varnish这样的http缓存。
请参阅以下提示:MediaWiki运行缓慢,如何使其更快?