Nextcloud 11 – Memory Cache Memcached aktivieren

Nextcloud ermöglicht die Nutzung eines Cachesystems. Durch die Nutzung eines Cachesystems ergibt sich ein performance Vorteil, da die Daten im Cache des Serversystems zwischengespeichert werden und nicht bei jedem Aufruf aus der Datenbank oder vom Dateisystem geladen werden müssen.

Nextcloud 11 funktioniert mit folgenden Memory Cache Systemen:

  • APCu 4.0.6+
  • Memcached
  • Redis 2.2.6+

Nextcloud 11 wird per Default ohne aktives Cachesystem installiert. Die Aktivierung kann im nachhinein über die config/config.php erfolgen.

Während APCu meistens per Default unter PHP 5.5+ und den meisten Distributionen installiert ist, bündelt es nicht den Data Cache.Memcached ist eines der ältesten Systeme und liefert eine gute Performance, allerdings funktioniert es nicht sonderlich gut mit Transactional File Locking, da es keine Locks speichert. Redis ist die eigentlich Empfehlung der Nextcloud Entwickler. Es ist modern und unterstützt sowohl verteilten CAche als auch lokalen Cache für das Transactional File Locking.

Ich habe hier auf meinem Testsystem Memcached und zeige nachfolgen die Schritte zur Aktivierung des Cachesystems Memcached für den distributed cache der Nextcloud:

  • überprüfen ob der Memcached Daemon läuft:
    • # ps aux |grep memcached
  • wenn, dann sieht die Ausgabe wie folgt aus:
    • # memcache   481  0.0  0.0 327452     0 ?        Ssl  12:22   0:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
  • nun wird die Konfiguration von Nextcloud angepasst:
    • # mcedit /webdir/config/config.php
  • und folgendes eingetragen:

// 'memcache.local' => '\OC\Memcache\APCu', # wenn APCu installiert ist, als local cache
'memcache.local' => '\OC\Memcache\Memcached',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcached_servers' => array(
array('localhost', 11211),
// array('server1.example.com', 11211), #falls weitere Cache-Server vorhanden sind
),

Danach die Webseite von Nextcloud neuladen.

Die Nextcloud Entwickler empfehlen für:

  • kleine und private Installationen nur APCu
  • kleine Firmen und Single-Server-Setup, APCu für den local cache und Redis für das file locking
  • große Firmen und Clustered Setup, Redis für alles, außer für local memcache APCu, wobei bei viel vorhandenen Arbeitsspeicher APCu für Memory verwendet und Redis für das File Locking verwendet werden soll, hingegen bei wenig Arbeitsspeicher Redis für beides verwendet werden sollte

Der Blick ins Handbuch hilft weiter: https://docs.nextcloud.com/server/11/admin_manual/configuration_server/caching_configuration.html

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.