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
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.