MediaWikiのインストールがあり、速度が遅くなっているという苦情が寄せられています。どのようにして速度/パフォーマンスを向上させることができますか?
ヒントが1つあります(以下で追加します)が、もっと聞きたいと思っています。回答ごとに1つのヒントを入力してください。
MediaWikiのインストールがあり、速度が遅くなっているという苦情が寄せられています。どのようにして速度/パフォーマンスを向上させることができますか?
ヒントが1つあります(以下で追加します)が、もっと聞きたいと思っています。回答ごとに1つのヒントを入力してください。
回答:
特にサイトが小規模から中規模の場合、メモリキャッシュの代わりに、すべてのhmtlページの合計サイズは問題ではありません。代わりに、ファイルキャッシュをオンにするだけで簡単に解決できます。
http://www.mediawiki.org/wiki/Manual:File_cache
私は今日数時間を費やして、共有ホスティング(bluehost)でmediawiki推奨のメモリキャッシングソリューションをオンにしようとして、それを行う方法が見つからなかったため、このオプションを見つけ、すべての問題を解決しました。
これは、ファイルキャッシュがオンになっているwikiです。
http://robertinventor.com/bmwiki
Googleの分析ログによると、ファイルキャッシュの前に、ほとんどのページをロードするのに数秒、場合によってはそれよりもはるかに長い時間がかかりました。
ここにいくつかの素晴らしいヒントがあります。私にとって最大の違い(IIS 7では8秒から0秒)を実現したのは、キャッシュを有効にし、$wgDBserver = "127.0.0.1";
(localhostから)変更したことです。何らかの理由でlocalhostがネットワーク経由で解決されていました。
Jadedによる投稿全体は次のとおりです。
負荷を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キャッシングエンジンのファイルとディレクトリがそれらに書き込むことができなくなります。
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を使用することを提案していますページのクエリ。トランスポート層はlocalhostを解決する必要があり、ページのレンダリングを許可する前にPHPとMySQLが解決する必要があるIPv4アドレスとIPv6アドレスの間でネゴシエーションを行うことでそうしていました。これはまだ完全にサポートされている統合プロトコルではないようです。そのため、$ wgDBserverを「127.0.0.1」のIPv4アドレスに設定すると、レンダリングに6秒から1秒かかりました-問題は解決しました!
LocalSettings.phpでキャッシュをオンにします。これを行うには、次の行を追加または変更します。
$wgMainCacheType = CACHE_ACCEL;
まず、Apacheサーバーを使用していることを確認する必要があります。Mediawikiは、Windows ServerまたはIISにインストールした場合は遅くなります。Windowsサーバー上にある場合は、アプリケーションフォルダーをLinuxサーバーに移動します。Mediawikiガイド用のWindowsおよびLinuxサーバー
これはMWの現在のバージョンには関係ないかもしれませんが、phpの設定を確認してくださいmbstring.func_overload
。私はそれを2に設定し(小さなzabbixインストールの必要条件として)、同じサーバー上でのMWの1.12インストールのパフォーマンスを強制終了しました。
php opcode cacherを使用し、dBがボトルネックになっていないことを確認してください。ワニスのようなhttp cacherの使用を検討してください。
これらのヒントを参照してください:MediaWikiは遅いのですが、どうすれば速くできますか?