MUC FAQ
初期検査時のMoodleユニファイドキャッシュ(MUC)は複雑な不快な獣のように見えることがあり、これが無視されるか、またはよくあるように設定が不適切になる可能性があります。
これがあなたが知る必要があるものです(だからあなたは残りを無視することができます)。
内容
MUCとは
MUCはキャッシュであり、キャッシュはソースから来た場合よりも検索が簡単で速いデータのストアです。それは(計算)労力を節約し、Moodleをより速くします。
MUCを使うべきですか?
はい。Moodle2.4以上を実行しているサイトは既にMUCを使用しています。
サイトがすでに問題なく動作している場合は、 「 時期尚早な最適化がすべての悪の根源である 」と考えて何も変更しないことを検討してください 。
デフォルトでは、MUCはファイルシステムを使用してキャッシュされたオブジェクトを保存します。これは、MUCをまったく使用しない場合と比較して、処理が大幅にスピードアップします。 MUCをさらに設定することによって、MUCをより高速にしようとしています。
デフォルトのファイルシステムMUCの何が問題になっていますか?
それほど多くはありませんが、MUCのパフォーマンスはその記憶媒体の読み取り/書き込み速度に依存します。
通常、ディスクは低速ですが安全な(永続的な)ストレージです。 MUCデータは常に再生成できるため、安全である必要はありません。したがって、RAMのように高速でありながら揮発性のある場所に保存することができます。
どうすればMUCを速くすることができますか?
RAMベースのキャッシュを使用するのがMUCを高速にする最良の方法であり、tmpfs、Memcached、APC、Redis、および残業など、これを実行するために使用できるツールがいくつかあります。それは一般的でよくテストされていて、速くてそして展開するのが簡単であるのでどんな特定の要件のMemcachedでもあります。
Memcachedをデプロイする方法
これは決して網羅的なものではなく、OSなどによって異なります。しかし、単純にするために...
- Memcachedをインストールすると、Debian / Ubuntuなどのオペレーティングシステムと互換性のある方法でPHPがサポートされます。
apt-get memcachedをインストールしてくださいphp5-memcached
- Memcachedを設定するか、少なくともデフォルトの設定に気づくようにします。
- 64MBのRAM課題
- ポート11211で実行
- Moodleでは
- 「サイト管理>プラグイン>キャッシュ>設定」
- [ インストールされたキャッシュストア ]の下で[Memcached]を探し、[ インスタンスの追加 ]アクションをクリックします 。
- ストアに「Memcached_MUC」のような名前を付けます。
- サーバーで 、上記の基本設定を想定して、「localhost」と入力します。 変更を保存します 。
- キャッシュ管理ページの一番下までスクロールします。
- マッピングが存在しない場合に使用されるストアで、マッピングの 編集をクリックします。
- [ アプリケーション]ドロップダウンで、キャッシュ名を選択します。 変更を保存します 。
- 利益
詳しくはキャッシングを見てください。
MUCに割り当てるメモリ量は?
ほとんどのMemcachedデプロイのデフォルトは64MBで、これはおそらく標準的なMoodleインストールには十分以上です。実世界の例として、過去24時間に約6000の個別ユーザーログインでライブサイトをチェックしたところ、MemcachedのMUC使用量は約11MBでした(26の追加プラグインを含むMoodle 2.8)。
Memcachedなどのインメモリキャッシュを実装するときに最も重要なのは、要件が大きく異なる可能性があるため、 独自の展開での使用を監視および理解することです。
私はすでにセッションにMemcachedを使っていますが、それを再利用できますか?
いや、恐れていません。 MUCがセッションを削除すると、すべてのユーザーがログアウトされます。このシナリオでは、2つのMemcachedインスタンス(セッション用と1つのMUC)が必要です。これを行う方法の例は、 こちらにあります 。
実際に使用しているキャッシュストアを確認する方法
でパフォーマンスのデバッグを一時的にオンにします。
サイト管理開発>デバッグ>パフォーマンス情報 。
これはMUCオブジェクトとそれらが由来するキャッシュストアを含む(あなたのテーマがそれをサポートするなら)すべてのページのフッターにいくつかの役に立つ情報を追加します。
私はサーバーのクラスタを持っています。
あなたはおそらくあなたのシステム管理fooに関してこのFAQの対象読者を超えています。
その小さな灰色の三角形は何ですか?
これは 、デフォルトのアプリケーションキャッシュストアマッピングが1つ以上のキャッシュ定義の要件をサポートしていないときにマッピングが存在しない場合に使用されるストアの下に表示されます。
たとえば、デフォルトのアプリケーションキャッシュのうち、 Event InvalidationはMemcachedではサポートされていません。これは、イベントの無効化には、 データがキャッシュに格納された後にデータが存在することを保証するデータ保証が必要であるためです。空き容量になるまで、または最近使用されていないため、クリーンアップされることはありません。 Memcachedはキャッシュからオブジェクトを追い出すため、Event Invalidationには使用できません。
Event Invalidationは単にファイルシステムキャッシュを使用するか、または指定された場合は互換性のある2次アプリケーションキャッシュ、またはEvent Invalidation定義に直接割り当てられたキャッシュを使用するため、これは問題にはなりません。
MUCの設定に関するその他のドキュメントはどこにありますか。
キャッシングを参照してください。
あなたがさらにキャッシングシステムの本質に興味があるならば、例えばキャッシュ機能(ttl、データ保証など) 開発者apiは見るのに良い場所です。
関連情報
- MUCとlocalcacheフォーラムのディスカッション