您有什么技巧可以加快 MediaWiki 安装(的性能)?

您有什么技巧可以加快 MediaWiki 安装(的性能)?

我们安装了 MediaWiki,有人抱怨它越来越慢。我们如何才能提高速度/性能?

我有一个建议(我将在下面添加),但我真的很想听到更多。最好每个答案一个建议。

答案1

一些很好的建议这里。对我来说,最大的不同(在 IIS 7 上从 8 秒到 0)是启用缓存和更改$wgDBserver = "127.0.0.1";(从 localhost)。出于某种原因,localhost 是通过网络解析的。

以下是 Jaded 的完整帖子:

  1. 其中最大的影响之一是启用 Mediawiki 缓存和加速,将负载从 15 秒减少到大约 6 或 7 秒,详见本文:http://www.charlesrcook.com/archive/2012/09/12/mediawiki-iis7-output-caching-and-friendlyshort-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 缓存引擎的文件和目录将无法写入它们。

  2. 我使用 Wincache 对 PHP 中的缓存做了一些小改动,但几乎没有任何影响 - 如果您从 PHP 角度愿意,可以启用并配置它,但不要指望会有很大的飞跃。MySQL 查询缓存也是如此 - 我的 Wiki 站点相对较小,使用率最低,因此 MySQL 查询缓存并没有带来很大的改进。

  3. 让网站加速的最后一根稻草是修改我的 Mediawiki LocalSettings.php 文件中的 $wgDBserver 设置。它被设置为“Localhost”,这篇文章http://forums.iis.net/t/1153459.aspx/3/10建议在 Windows 7 及以上版本上使用“Localhost”,而 Server 2008 及以上版本开始让 IPv6 参与页面查询。传输层必须解析 localhost,并通过在 IPv4 和 IPv6 地址之间进行协商来实现,PHP 和 MySQL 需要先解析 IPv4 地址,然后才能允许页面呈现。看来这仍然不是一个完全受支持的集成协议,因此将 $wgDBserver 设置为 IPv4 地址“127.0.0.1”可将呈现时间从 6 秒缩短至 1 秒 - 问题解决了!

答案2

特别是当您的网站规模较小到中等时,不要使用内存缓存,因为所有 hmtl 页面的总大小不是问题 - 一个简单的解决方案就是打开文件缓存。

http://www.mediawiki.org/wiki/Manual:File_cache

我今天花了几个小时尝试在我的共享主机(在 bluehost)上启用任何 mediawiki 推荐的内存缓存解决方案,但发现没有办法做到,然后发现了这个选项并解决了所有问题。

这是打开文件缓存的 wiki:

http://robertinventor.com/bmwiki

根据 Google 分析日志,在文件缓存之前,加载大多数页面需要几秒钟,有时甚至需要更长时间,最长可达几分钟。

答案3

在 LocalSettings.php 中启用缓存。通过添加/更改此行来执行此操作:

$wgMainCacheType = CACHE_ACCEL;

手册:缓存这个 mwusers 页面

答案4

这可能与 MW 的当前版本无关,但请检查 php 设置mbstring.func_overload。我将其设置为 2(作为小型 zabbix 安装的重新要求),它降低了同一台服务器上 MW 1.12 安装的性能。

相关内容