MediaWikiのインストールを高速化(パフォーマンス)するためのヒントはありますか?


8

MediaWikiのインストールがあり、速度が遅くなっているという苦情が寄せられています。どのようにして速度/パフォーマンスを向上させることができますか?

ヒントが1つあります(以下で追加します)が、もっと聞きたいと思っています。回答ごとに1つのヒントを入力してください。


1
ここに私が見つけた便利なリンクがあります:dom.as/2007/01/26/mediawiki-performance-tuning
Monica-Goodbye SE

または、より包括的で最近のmediawiki.org/wiki/Manual:Performance_tuning
Nemo

回答:


4

特にサイトが小規模から中規模の場合、メモリキャッシュの代わりに、すべてのhmtlページの合計サイズは問題ではありません。代わりに、ファイルキャッシュをオンにするだけで簡単に解決できます。

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

私は今日数時間を費やして、共有ホスティング(bluehost)でmediawiki推奨のメモリキャッシングソリューションをオンにしようとして、それを行う方法が見つからなかったため、このオプションを見つけ、すべての問題を解決しました。

これは、ファイルキャッシュがオンになっているwikiです。

http://robertinventor.com/bmwiki

Googleの分析ログによると、ファイルキャッシュの前に、ほとんどのページをロードするのに数秒、場合によってはそれよりもはるかに長い時間がかかりました。


4

ここにいくつかの素晴らしいヒントがあります。私にとって最大の違い(IIS 7では8秒から0秒)を実現したのは、キャッシュを有効にし、$wgDBserver = "127.0.0.1";(localhostから)変更したことです。何らかの理由でlocalhostがネットワーク経由で解決されていました。

Jadedによる投稿全体は次のとおりです。

  1. 負荷を15秒から約6または7に減らした最大の影響の1つは、Mediawikiのキャッシングとアクセラレーションを有効にすることでした。詳細については、この投稿を参照してください。 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を解決する必要があり、ページのレンダリングを許可する前にPHPとMySQLが解決する必要があるIPv4アドレスとIPv6アドレスの間でネゴシエーションを行うことでそうしていました。これはまだ完全にサポートされている統合プロトコルではないようです。そのため、$ wgDBserverを「127.0.0.1」のIPv4アドレスに設定すると、レンダリングに6秒から1秒かかりました-問題は解決しました!



2

まず、Apacheサーバーを使用していることを確認する必要があります。Mediawikiは、Windows ServerまたはIISにインストールした場合は遅くなります。Windowsサーバー上にある場合は、アプリケーションフォルダーをLinuxサーバーに移動します。Mediawikiガイド用のWindowsおよびLinuxサーバー


0

これはMWの現在のバージョンには関係ないかもしれませんが、phpの設定を確認してくださいmbstring.func_overload。私はそれを2に設定し(小さなzabbixインストールの必要条件として)、同じサーバー上でのMWの1.12インストールのパフォーマンスを強制終了しました。


THX!チェックしてみます。
モニカの復活-Goodbye SE

によると:mediawiki.org/wiki/PHP_configuration mbstring.func_overloadこのオプションはエラーを引き起こし、予期せずデータを破壊する可能性があります。このオプションがオンになっている場合、MediaWikiはインストールを拒否します。したがって、これは当てはまらないと思います。
モニカの復活-Goodbye SE

0

php opcode cacherを使用し、dBがボトルネックになっていないことを確認してください。ワニスのようなhttp cacherの使用を検討してください。


ここでもう少し詳しく教えてもらえますか?例:リンク、DBがボトルネックであるかどうかを知る方法、httpキャッシャーとは?私はバックエンドの詳細についてはそれほど詳しくありません。
モニカの復活-Goodbye SE

グーグルのmysqltuner.pl、またはday32.com/MySQLからmysql-tuner.shを使用すると、クエリの実行速度が遅い場合などに、バッファを強化する必要があるかどうかが通知されます。Varnishは、キャッシュできるリバースプロキシタイプのサービスです動的なWebページの場合、学習曲線は少し急ですが、ハイエンドのサービスであるため、実際に確認する価値があります。調査する順序は、(ネットワークスループットなどの明らかな部分から)おそらく1)opcode cacher 2)dbの実行/実行方法を決定し、3)ワニスです。
3molo

Mediawikiには、ワニスによるキャッシングに関する記事さえあります!mediawiki.org/wiki/Manual:Varnish_caching
3molo

MediaWikiは、データベースと実際のサイト間でキャッシュするためにmemcachedを使用することを提案していることを言及するのを忘れ、参照mediawiki.org/wiki/Memcached
3molo

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.