加快慢速链接到MediaWiki:性能优化

很慢MediaWiki的一个大问题! 链接到MediaWiki性能可能会慢load.php和的index.php文件被击中。 加快链接到MediaWiki优化页面加载速度。

A+ A-

我运行基于链接到MediaWiki一个受欢迎的网站。 对于过去的几年中已经给了我,因为它缓慢的噩梦。 尽管我的努力,我是不是能够稳定的Web服务器和处理速度慢链接到MediaWiki。 大多数时候,服务器日志中会责怪load.phpindex.php的脚本导致崩溃。 我做了相当多的研究,现在终于我的网站是在一个更好的形状,我想写下我的经历对你的所有。 在这里,我会写一些我从网上和他们在提高性能的链接到MediaWiki了成效提示。

虽然我是研究如何提升兆瓦的表现,我在多个论坛中来,人们都在谈论他们的相关链接到MediaWiki的问题和可能的解决方案。 然而,一件事,我几乎总是发现此类问题/解决方案的描述缺少的是关于所面临的问题的网站的技术细节 。 我们要明白,不同的技术环境需要不同的解决方案。 因此,没有提供任何背景介绍的解决方案可能没有多大用处。

所以,首先,让我告诉你的网站我有,使您能够标杆自己的网站,它的问题和可能的解决方案的有效性。

我的网站的详细信息

硬件:VPS约1800MB RAM
软件:以下是我的链接到MediaWiki服务器的软件环境:

  • 的用途链接到MediaWiki UTF-8字符集和MySQL数据库。 这是一个非英语网站
  • MySQL数据库使用的InnoDB对于大多数表,一些表是MYISAM
  • 在基于链接到MediaWiki 1.20.3存在(但缓慢的问题,开始的时候它是在1.14 MW运行)
  • PHP的版本是5.3.23(CGI-FCGI)
  • MySQL的版本是69年5月1日 - CLL
  • Apache的版本是2.2.24

我的网站拥有超过60,000页,每月近15万人次,每月大约200万的页面浏览量。 所以,你可能会认为这是一个适度的高流量的网站。

我的网站的问题的症状

1)性能缓慢。将页面需要10秒至2分钟来加载。 服务器错误日志中经常告诉我,load.phpindex.php文件的脚本所花时间太长完成。 这产生了一个瓶颈。

2)不稳定,Web服务器往往会下降,将成为死(服务在一分钟内只有2-3页)一样慢。 服务器将进入这个不能忍受缓慢模式15-20分钟,然后再弹回生命(服务每分钟20-30页)。

3)环境的失败。我经常会从主机MySQL已经失败或Apache崩溃或其他一些服务下楼收到电子邮件。

准备了“使命提速链接到MediaWiki”

在调查你的服务器的问题和实施解决方案的原因如下工具将非常方便。

提示增加链接到MediaWiki性能。

提示增加链接到MediaWiki性能。

使用谷歌Anayltics:由谷歌提供实时分析是一种幸福。 这显示,目前,有多少人连接到你的网站,多少个网页被每分钟每秒交付。 这些信息在你的试验和错误一轮极其方便 ,你会就能看到各种你所采取的措施已经影响到你的网站流量。

使用VPS:如果你有一个显著大链接到MediaWiki的网站,如果你能负担得起的-go,而不是一个共享服务器虚拟专用服务器(VPS)。 在一个VPS,你可以做很多事情比较容易。 你应该获得像的cPanel,WHM和/或Virtuozzo的接口。

使用SSH:即使有一个共享的服务器,你可以得到您的帐户SSH访问(但是,在大多数情况下,你必须从主机-它们默认情况下不给它在共享服务器请求)。 所以,去请求SSH访问,如果你还没有得到它。 一旦你到你的服务器SSH访问,使用像一个简单的工具油灰通过SSH连接到您的服务器帐户。

让我说,它有SSH访问如果你希望解决链接到MediaWiki和提高其性能是非常重要的。

我们可以尝试在几个级别提升链接到MediaWiki性能。 我写这篇文章分为三个部分; 每一个链接到MediaWiki的调整的Apache Web服务器和MySQL数据库。

第1部分 - 调整链接到MediaWiki

让我们用该方法的第一部分开始。 首先,你应该你链接到MediaWiki安装设置的理想场所。 这些设置保持较大兆瓦网站稳定非常重要。 这些都是实现卓越绩效的第一步。

文件缓存

链接到MediaWiki是Apache和MySQL的作为一个沉重的Web应用程序两者。 如果你不是经常让大多数网页的变化,你可以使用文件缓存。 当用户从你的网站请求一个页面,链接到MediaWiki将在页面的副本保存为HTML文件。 下一次,当有人将请求交谈MySQL和重建页面-MW将发送HTML副本作为响应的同一页-instead。 这将使响应速度,因为数据库调用和PHP渲染将被绕过。 要启用文件高速缓存,放的LocalSettings.php文件中的以下行。

$ wgUseFileCache =真;
$ wgFileCacheDirectory =“$ IP /缓存”;
$ wgShowIPinHeader = FALSE;

缓存侧边栏

您也可以缓存侧边栏的内容。 这将加快从Web服务器响应。 要缓存侧边栏,加入的LocalSettings.php文件中的以下。

$ wgEnableSidebarCache =真;

使用链接到MediaWiki页面压缩

如果启用压缩,链接到MediaWiki将请求的页面发送到浏览器作为一个压缩文件。 这将减少响应的文件大小,因此,传输速度将更大。 所有现代浏览器都具备解压的内容并显示给用户。 为了使压缩,在LocalSettings.php中文件中添加以下行。

$ wgUseGzip =真;

禁用浏览量计数器

链接到MediaWiki保持多少次一个页被观察的轨道。 所以,每一个页面被请求的页面-the网页浏览次数时间数据库递增。 如果网页浏览跟踪是不是对你很重要,你应该关闭这个功能,以节省数据库调用。 要禁用页面视图计数器,加入的LocalSettings.php文件中的以下行。

$ wgDisableCounters = TRUE;

注:如果您使用文件缓存,在保持计数器会不会使用呢,因为在大多数情况下,被请求的页面将被传递给用户缓存和数据库更新将不会发生。

组命中计数器频率
如果综合浏览量计数是对你很重要,你想保持它; 你应该使用变量$的wgHitcounterUpdateFreq

此变量设置的浏览量计数器的更新频率的频率。 缺省情况下,它具有的值为1哪位装置更新每次完成在用户浏览网页。 你应该把它设置成类似500。这就意味着数据库将经过500只浏览量更新一次。 要设置这个变量,使用的LocalSettings.php文件中的以下。

$ wgHitcounterUpdateFreq = 500;

启用守财奴模式

链接到MediaWiki可以在一个守财奴模式,其中它禁用了一些功能,以节约资源,提高性能运行。 以下是使财迷模式做的事情:

  • 通过链接到MediaWiki 最近更新禁止在特殊变化大小的自定义格式RC-改变大小 (r48986)
  • 禁用选择与特种 X盒开始的所有页面:日志 (和列表的选项leprefix = LOGEVENTS API模块)
  • 完全禁用特殊:MimeSearch,以及aimimefamime选项列表= allimages和list = filearchive API模块
  • 禁用RSS提要特殊的showsizediff选项:捐款
  • 列表= categorymemberslist = externallinks API模块,使用减少了空间排序模式(只返回几个结果时cmnamespaceelnamespace选择是使用)。
  • 同样禁止通过特殊的命名空间框过滤器:LinkSearch
  • 禁用显示在特殊最受欢迎的网页列表:统计 (但还是会显示其他网页浏览统计信息,如果计数器上)
  • 并不完全一样经常更新的活跃用户数量
  • 禁止对特种其名称框中用X某处图像搜索:NewImages特殊:ListFiles
  • 不显示图像的先前版本有多少人上载特殊:ListFiles
  • 当运行rebuildrecentchanges.php维护脚本,不会被自动巡逻标志用户重新自动巡逻编辑。
  • 当运行updateCollations.php维护脚本,也不会告诉你总共有多少行更新。

要启用守财奴模式 ,加入了LocalSettings.php以下

$ wgMiserMode =真;

使用的MediaWiki最新版本

在链接到MediaWiki发展办公桌保持乡亲更改代码,使其更快,并添加可以提高性能的功能。 所以,你应该升级你的链接到MediaWiki安装到最新版本。 了解如何升级链接到MediaWiki

运行作业通过的Cron

链接到MediaWiki维护队列在其中调度的作业要在数据库中执行(例如,除了新的一页,更新的变化,页删除等)。$ wgJobRunRate变量控制在从这个队列中的作业的执行率。 理想情况下,我们应该执行的作业时,有至少交通(如夜间)。

默认情况下,该变量设置为1; 这意味着,一个作业会从你的网站请求的每一页上执行。 如果你把它设置为0.1,一个作业将在每10个页面请求执行。

如果实时更新不是在你的网站很重要,这是更好地就业率变量设置为0,然后设置一个cron作业执行所有在非高峰时段的累计工作。

要设置工作率为零,加入的LocalSettings.php以下

$ wgJobRunRate = 0;

然后,你可以这样设置一个crontab:

0 0 * * *的/ usr / bin中/ PHP的/var/www/wiki/maintenance/runJobs.php> /var/log/runJobs.log 2>&1

这将导致工作在批处理模式下在午夜在所有天运行。

明确写入您网站的名称

Aboutsite链接到MediaWiki:链接到MediaWiki页面PAGETITLE参考{{SITENAME}}。 您应该编辑这些网页,写你的网站的名称,而不是{{SITENAME}}。

现在,在第2部分,我将讨论我们应该如何调整Apache网络服务器 ,企图使一个缓慢的链接到MediaWiki安装运行得更快。 敬请关注。

Ads

分享

最近

最好的Ubuntu的替代寻找,如果你是一个Linux爱好者

首先,让我们越来越熟悉的东西; 基本的,但有点偏离轨道! 你有没有得到使用Linux和Ubuntu方面困惑? 你任何机...

如何在Gmail收件箱中添加签名 - 添加在Gmail谷歌的签名

收件箱由谷歌为谷歌的在过去几年推出的最好的事情之一。 它带入一个统一的收件箱几乎所有我们想要的一切。 我们必须说,设计...

每周科技新闻:诺基亚,谷歌和任天堂

大家好,这是星期五,3月3日,只是像往常一样,我们又回到我们的每周新闻综述。 本周的新闻有很多有趣的报道。 从诺基亚的...

树莓派项目入门 - 你可以用树莓派做些什么

树莓Pi为一系列低功耗,由莓裨基金会创建单板计算机。 最初创建教孩子们计算机科学和编程的基础知识在发展中国家中,树莓派...

Android的2017年最佳VPN - 如何使用VPN在安卓

一去不复返的VPN只为高科技,savvies和黑客的天! 而且,承认这一点,我们已经受够了易怒的演讲有关这些服务的。 ...

注释