Nextcloud durch Caches beschleunigen

Die Nextcloud ist schon ein tolles Werkzeug, um die Kontrolle über die eigenen Daten zu haben und dennoch die Vorteile einer Cloud nutzen zu können.

Aber auch die Nextcloud kann noch weiter optimiert werden, indem ein Cache vorgeschaltet wird. Dieser Cache hilft dabei, Inhalte der Seite zu beschleunigen und somit das Look-and-Feel zu verbessern. Aber auch interne Prozesse können durch den Cache schneller bearbeitet werden, sodass die gesamte Nextcloud-Installation davon profitiert.

Dabei gibt es zwei Caching-Programme, die sich in der Vergangenheit bewährt haben und perfekt mit der Nextcloud zusammenarbeiten:

  • APCU
  • Redis

Je nach Größe der eigenen Cloud kann ein APCU Cache ausreichend sein, bei stärker beanspruchten Clouds bietet sich dann der Redis Cache an.

APCU

Der APCU Cache ist einfacher zu implementieren, bietet aber nicht so viel Leistung wie der Redis-Cache.

Der APCU Cache muss vor der Verwendung installiert werden. Jede Distribution macht dies anders. Wir nutzen hier das Beispiel von Ubuntu und hier wird der APCU Cache mit folgendem Befehl installiert:

sudo apt-get install php-apcu

Im nächsten Schritt muss in der Konfiguration der Nextcloud der Cache aktiviert werden. Hier muss die config.php der Nextcloud-Installation um folgende Zeile erweitert werden:

'memcache.local' => '\OC\Memcache\APCu',

Beim APCU Cache muss darauf geachtet werden, dass der Cache auch für das PHP auf der CLI aktiviert wird, da die regelmäßig ausgeführten Cronjobs sonst nicht davon profitieren.

Deshalb muss in der php.ini folgende Zeile hinzugefügt werden:

apc.enable_cli = 1

Status

Um den APCU Cache zu überwachen gibt es eine einfache PHP-Datei, welche durch den Browser ausgegeben werden kann. Hier sind dann alle wichtigen Informationen enthalten.

Sie können das Script unter folgendem Link herunterladen: https://www.admin-intelligence.de/downloads/apcu-stats.txt

Es handelt sich dabei um ein „txt“-File, speichern Sie dieses einfach als „php“ auf Ihrem Server ab und schon können Sie die Daten auslesen.

Redis

Der Redis Cache ist etwas aufwändiger zu konfigurieren, bietet aber auch mehr Funktionalität. Er ist moderner als der APCU Cache und auf verteiltes Caching ausgelegt.

Der Redis Server, welcher für den Cache zuständig ist, wird mit folgendem Befehl auf Ubuntu installiert:

sudo apt-get install redis-server php-redis

Der Server wird direkt nach der Installation gestartet, das kann mit dem folgenden Befehl geprüft werden und eine ähnliche Ausgabe anzeigen:

ps ax | grep redis
5687 ? Ssl   18:27 /usr/bin/redis-server 127.0.0.1:6379

Der Cache muss wie auch der APCU Cache in der config.php der Nextcloud installation konfiguriert werden. Dazu sind die folgenden Einträge nötig:

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
     'host'     => '/var/run/redis/redis.sock',
     'port'     => 0,
],

Hier gehen wir in dem Beispiel davon aus, dass der Redis-Server auf demselben System installiert ist. Dadurch kann direkt auf den UNIX-Socket zugegriffen werden.

Damit der Webserver (hier Apache) Zugriff auf den Cache hat, müssen noch die entsprechenden Rechte vergeben werden:

usermod -a -G redis www-data

Nach den Änderungen bietet es sich an, den Apache-Service neu zu starten.

Status

Auch für den Redis Cache gibt es eine einfache PHP-Datei zur Überwachung, welche durch den Browser ausgegeben werden kann. Hier sind dann alle wichtigen Informationen enthalten.

Sie können das Script unter folgendem Link herunterladen: https://www.admin-intelligence.de/downloads/redis-stats.txt

Es handelt sich dabei um ein „txt“-File, speichern Sie dieses einfach als „php“ auf Ihrem Server ab und schon können Sie die Daten auslesen.

Wenn Sie Unterstützung beim „beschleunigen“ und den Betrieb Ihrer Nextcloud Installation benötigen, so schauen Sie doch mal auf unserer Nextcloud Webseite vorbei und nehmen Kontakt mit uns auf. Wir helfen Ihnen gerne weiter! Sie können sich auch weitere Artikel zum Thema Nextcloud anschauen.

Sascha Jelinek