MUC FAQ
初期検査のMoodle統合キャッシュ (MUC - Moodle Unified Cache) は困惑するほど複雑であるため、無視されるか、多くの場合、貧弱な設定で終わらせられています。
以下、あなたが知っておくべき内容です (そのため、残りをキャッシングする必要はありません)。
MUCとは何ですか?
MUCはキャッシュです。キャッシュはデータの保存場所です。データソースから取得するより素早くデータを読み出せます。 キャッシュは (計算) 結果を保存してMoodleを速くします。
MUCを使用すべきですか?
はい、Moodle 2.4またはそれ以上のバージョンではすでにMUCが使われています。
サイトが正常に動作している場合、早すぎる最適化は諸悪の根源となるため、「何も変更しない」ことを考えてください。
デフォルトではMUCはキャッシュオブジェクトを保存するためファイルシステムを使用します。これはすでにMUCが無い場合と比べても十分にスピードを速くしています。MUCを設定することにより、私たちはさらに速くしようと試みています。
デフォルトファイルシステムMUCのどこが悪いのですか?
悪いというわけではありませんが、MUCのパフォーマンスはストレージメディアの書き込み/読み込みスピードに依存します。
一般的にディスクは遅いですが、安全な (永続性のある) ストレージです。MUCデータは常に再生成されるため、安全に保存される必要はありません。そのため、RAMのように揮発性のある速い場所に保存しても差し支えありません。
どのようにすればMUCを速くできますか?
RAMベースのキャッシュの使用がMUCを速くするための最善の方法です。それから、MUCを速くするために私たちが使用できる次のようなツールがあります: tmpfs, Memcached, APC, Redis等。何から始めれば良いのか分からない場合、また特定の必要条件が分からない場合、充分にテストされて、速く、適用が簡単なMemcachedが一般的です。
どのようにMemcachedを適用すれば良いですか?
これは決して完全なものではありません。また、OS等にしたがって様々に変わります。以下、簡単に説明します ...
- オペレーティングシステムに互換性のある方法でMemcachedおよびPHP関連ソフトウェアをインストールしてください。例) Debian/Ubuntu apt-get install memcached php5-memcached
- Memcachedを設定してください。または少なくともデフォルト設定を知ってください。例)
- 64MB RAM
- ポート番号11211での実行
- Moodleにおいて
- '「サイト管理 > プラグイン > キャッシング > 設定」ページに移動してください。
- 「インストール済みキャッシュストア」の下でMemcachedを探して「インスタンスを追加する」をクリックしてください。
- 「Memcached_MUC」のようなストア名を入力してください。
- 「サーバ」において上のような基本設定がなされていると仮定して、「localhost」と入力して「変更を保存する」ボタンをクリックしてください。
- 「キャッシュ管理」ページの最下部までスクロールしてください。
- 「マッピングが存在しない場合に使用されるストア」の下にある「マッピングを編集する」をクリックしてください。
- 「アプリケーション」でドロップダウンメニューよりキャッシュ名を選択した後、「変更を保存する」をクリックしてください。
- 利点
詳細はキャッシングをご覧ください。
MUCにはどれくらいのメモリを割り当てればよいですか?
ほとんどのMemcached適用のデフォルトは64MBですが、これは恐らく、標準的なMoodleには充分過ぎる設定値です。実運用サイトの例として、6,000ユーザのログインを24時間監視した結果、Memcached MUCの実際の使用は11MBでした (Moodle 2.8および追加プラグイン数26の場合)。
必須要件が多岐に渡るため、Memcachedのようなメモリキャッシュの実装時にはメモリキャッシュの監視および「あなた自身」の適用においてのメモリキャッシュ使用に関する理解が重要です。
私はすでにセッションにMemcachedを使用しています。これを再利用できますか?
いいえ、恐らく、再利用できません。MUCがセッションを消去した場合、すべてのユーザはログアウトされます。このシナリオにはセッション、そしてMUCのための2つのMemcachedインスタンスを必要とします。これに関する例はこちらをご覧ください。
私が実際に使用しているキャッシュストアをどのように伝えれば良いですか?
「サイト管理 > 開発 > デバッグ」で「パフォーマンス情報」を一時的に有効にしてください。
あなたのテーマがサポートしている場合、MUCオブジェクトおよびキャッシュストアの発生元を含む有益な情報すべてをページフッタに追加します。
私はサーバのクラスタを使用しています、<さらなる質問はこちらに> ?
システム管理に関して、恐らく、あなたはこのFAQがターゲットとしているオーディエンスを超えているのではないでしょうか。
灰色の小さな三角形は何ですか?
デフォルトアプリケーションキャッシュストアのマッピングが1つまたはそれ以上のキャッシュ定義の要件をサポートしない場合、これは「マッピングが存在しない場合に使用されるストア」の下に表示されます。
例えば、デフォルトのアプリケーションキャッシュの「イベントインバリデータ」はMemecacedではサポートされません。これはキャッシュ保存後、イベント無効化がデータの存在を確認する「データ保証」を必要とするからです。最近使用されなくなったため、ディスクスペースを空けるためにクリーンアップされることはありません。Memcachedがキャッシュからオブジェクトを強制的に消去してしまうため、イベント無効化には使用できません。
イベント無効化は単にファイルキャッシュシステムを使用するだけ、または互換セカンダリアプリケーションキャッシュを指定するだけ、またはイベント無効化定義を割り当てるだけですから、これは問題ではありません。
MUCの設定に関する詳細ドキュメントはどこにありますか?
詳細はキャッシングをご覧ください。
あなたがさらにキャッシングシステムの基本 (例 キャッシュ機能 (ttl、データ保証等)) に興味がある場合、開発者API (英語) は良い資料です。
関連情報
- MUCおよびローカルキャッシュ フォーラムディスカッション - 英語