MUC FAQ

Wechseln zu: Navigation, Suche

Hinweis: Sie sind auf den Seiten der Moodle 3.3 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: MUC FAQ.


Baustelle.png Diese Seite ist noch nicht vollständig übersetzt.

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?

The default on most Memcached deployments is 64MB and this is probably more than enough for a pretty standard Moodle install. As a real world example, checking a live site with ~6000 individual user logins, over the last 24 hours was using 11MB of Memcached MUC (Moodle 2.8 with 26 additional plugins).

Most importantly when implementing an in memory cache like Memcached then monitor and understand its use in your deployment as this can vary wildly.

I'm already using Memcached for sessions, can I just reuse that?

Nope, afraid not. If the MUC purges so will sessions, all users will be logged out. Two Memcached instances are required in this scenario, one for sessions and one MUC. An example of how to do this can be found here.

How can I tell what Cache store I am really using

Temporarily switch on performance debugging at,

Site administration Development > Debugging > Performance info.

This adds some useful information to the the footer of all pages (if your theme supports it) including MUC objects and the cachestore they came from .

I have a cluster of servers, <further question here>?

You are probably beyond the target audience of this FAQ in terms of your system administration foo.

What is that little grey triangle?

This appears under Stores used when no mapping is present when the default Application Cache store mapping does not support a requirement of one or more of the cache definitions.

For example, of the default application caches, Event Invalidation is not supported by Memcached. This is because Event Invalidation requires Data Guarantee which ensures data exists in the cache once it is put there. It is never cleaned up to free space or because it has not been recently used. Because Memcached evicts objects form it's cache it cannot be used for Event Invalidation.

This is not a problem as Event Invalidation will simply use the file-system cache or if specified a compatible secondary application cache or one allocated directly to the Event Invalidation definition.

Wo kann ich mehr Informationen zur Konfiguration des MUC finden?

Siehe auch