MUC FAQ
Der Moodle Unified Cache (MUC) scheint auf den 1. Blick sehr komplex, so dass er oftmals ignoriert oder schlecht konfiguriert wird.
Hier finden Sie das Wichtigste, so dass Sie den Rest ignorieren können.
Was ist der MUC?
Der MUC ist ein Cache. Ein Cache ist ein Datenspeicher, auf den schneller und leichter zugegriffen werden kann als auf die Originalquelle der Daten. Der Cache spart Rechenaufwand und macht Moodle schneller.
Soll ich den MUC verwenden?
Ja, und Moodle-Sites ab Moodle 2.4. verwenden bereits den MUC.
Wenn Ihre Seite gut läuft, dann müssen Sie nichts ändern, siehe Wikipedia-Eintrag (englisch).
Standardmäßig verwendet der MUC das Dateisystem, um die gecachten Objekte zu speichern. Das verbessert die Geschwindigkeit bereits spürbar. Durch zusätzliche Konfiguration des MUC kann die Geschwindigkeit weiter verbessert werden.
Was ist schlecht am Standard-Dateisystem-MUC?
Nicht viel, die Geschwindigkeit hängt jedoch von der Schnelligkeit der Lese-/Schreibgeschwindigkeit des Speichermediums ab.
Typischerweise sind Festplattenspeicher langsame, aber sichere Speichermöglichkeiten. MUC-Daten müssen nicht sicher gespeichert werden, da sie ohnehin permanent neu erzeugt werden, sie können also auch im RAM gespeichert werden. Not much at all, but the MUCs performance is dependant on the read/write speed of its storage medium.
Wie kann ich den MUC schneller machen?
Verwenden Sie einen RAM-basierten Cache. Es gibt einige Werkzeuge, die Sie dafür verwenden können, z.B. tmpfs, Memcached, APC, Redis und andere. Wenn Sie keine spezifischen Anforderungen haben, probieren Sie es mit Memcached - dieses Werkzeug ist weit verbreitet, gut getestet, schnell und einfach aufzusetzen.
Wie setze ich Memcached auf?
Das hängt vom Betriebssystem Ihres Moodle-Servers ab. Die grundlegenenden Schritte sind:
- Installieren Sie Memcached und die zugehörigen PHP-Erweiterungen. Für Debian/Ubuntu würde der entsprechende Befehl lauten:
apt-get install memcached php5-memcached
- Konfigurieren Sie Memcached bzw. beschäftigen Sie sich mit der Standardkonfiguration, z.B.
- 64MB RAM Allocation
- Läuft auf Port 11211
- In Moodle:
- Gehen Sie auf die Seite Einstellungen > Website-Administration > Plugins > Caching > Konfiguration.
- Unter Installierte Cache-Speicher suchen Sie nach Memcached und klicken Sie auf den zugehörigen Link Instanz hinzufügen.
- Geben Sie dem Cache-Speicher einen Namen, z.B. Memcached_MUC.
- Im Feld Server geben Sie localhost ein und speichern Sie Ihre Änderungen.
- Auf der Seite Einstellungen > Website-Administration > Plugins > Caching > Konfiguration unten im Abschnitt Speicherort wenn keine Definition erstellt wurde klicken Sie auf den Link Bearbeiten.
- Im Menü Anwendung wählen Sie den neu hinzugefügten Cache-Speicher aus und speichern Sie Ihre Änderungen.
Siehe Caching für weitere Informationen.
Wie viel Speicher soll ich für den MUC bereithalten?
Für Memcached werden standardmäßig 64MB empfohlen, und das ist für eine Standard-Moodle-Installation in der Regel mehr als ausreichend.
Beispiel: Bei eine Moodle-Site (Version Moodle 2.8 mit 26 zusätzlichen Plugins) mit 6000 angemeldeten Nutzer/innen wurden im Laufe von 24 Stunden 11MB Memcached MUC verwendet.
Trotzdem kann dieser Wert bei Ihrer Moodle-Site abweichen, also behalten Sie den Cache-Bedarf im Blick und beobachten Sie ihn über einen längeren Zeitraum.
Ich verwende Memcached bereits für Sitzungsinformationen, kann ich diesen Cache wiederverwenden?
Leider nein. Wenn der MUC gelöscht wird, dann werden alle Sitzungsinformationen gelöscht und alle angemeldeten Nutzer/innen abgemeldet.
Für dieses Szenario benötigen Sie zwei Memcached-Instanzen: eine für die Sitzungsinformationen und eine für den MUC. Ein Beispiel finden Sie hier.
Wie finde ich heraus, wie viel Cache-Speicher verwendet wird?
Gehen Sie auf die Seite Einstellungen > Website-Administration > Entwicklung > Debugging und markieren Sie temporät die Checkbox Performance.
Dadurch wird unten auf jeder Moodle-Seite eine zusätzliche Information zum Cache-Speicher angezeigt (wenn Ihr Design diese Anzeige unterstützt).
Was bedeutet das kleine graue Dreieck auf im Abschnitt Speicherort wenn keine Definition erstellt wurde?
Dieses Dreieck erscheint auf der Seite Einstellungen > Website-Administration > Plugins > Caching > Konfiguration unten im Abschnitt Speicherort wenn keine Definition erstellt wurde, wenn die Cache-Anforderungen nicht zu den Cache-Definitionen passen.
Z.B. unterstützt Memcached kein Löschen von Terminen (eventinvalidation).
Wo kann ich mehr Informationen zur Konfiguration des MUC finden?
- Caching
- Entwickler-API (englisch)
Siehe auch
- MUC and localcache forum discussion