Nextcloud/Memory caching: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Nextcloud/Verwaltung“ durch „Nextcloud/Konfiguration“
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Nextcloud - Memory caching''' - Kurzbeschreibung
'''Nextcloud - Memory caching''' - Leistung des Nextcloud-Servers verbessern


== Beschreibung ==
== Beschreibung ==
Sie können die Leistung Ihres Nextcloud-Servers mit Memory Caching erheblich verbessern
Leistung des Nextcloud-Servers mit Memory Caching verbessern
* Dabei werden häufig angefragte Objekte im Speicher abgelegt, um sie schneller abrufen zu können
* Dabei werden häufig angefragte Objekte im [[Arbeitsspeicher]] abgelegt, um sie schneller abrufen zu können
* Es gibt zwei Arten von Caches, die Sie verwenden können: einen PHP-Opcode-Cache, der allgemein als ''Opcache'' bezeichnet wird, und einen Daten-Cache für Ihren Webserver, der allgemein als "Memcache" bezeichnet wird


Hinweis
Es gibt zwei Arten von Caches, die Sie verwenden können
* einen PHP-Opcode-Cache, der allgemein als ''Opcache'' bezeichnet wird, und einen
* Daten-Cache für Ihren Webserver, der allgemein als "Memcache" bezeichnet wird


Wenn Sie keinen lokalen Memcache installieren und aktivieren, sehen Sie eine Warnung auf Ihrer Nextcloud-Verwaltungsseite. '''Ein Memcache ist nicht erforderlich
; Hinweis
* Sie können die Warnung ignorieren, wenn Sie dies wünschen.''' Wenn Sie in Ihrer <code>config.php</code> nur einen verteilten Cache<code>(memcache.distributed</code>) und keinen lokalen Cache<code>(memcache.local</code>) aktivieren, werden Sie die Cache-Warnung trotzdem sehen
: Wenn Sie keinen lokalen Memcache installieren und aktivieren, sehen Sie eine Warnung auf Ihrer Nextcloud-Verwaltungsseite. '''Ein Memcache ist nicht erforderlich
: Sie können die Warnung ignorieren, wenn Sie dies wünschen
: ''' Wenn Sie in Ihrer <code>config.php</code> nur einen verteilten Cache<code>(memcache.distributed</code>) und keinen lokalen Cache<code>(memcache.local</code>) aktivieren, werden Sie die Cache-Warnung trotzdem sehen


Ein '''PHP-Opcache''' speichert kompilierte PHP-Skripte, so dass sie nicht bei jedem Aufruf neu kompiliert werden müssen
Ein '''PHP-Opcache''' speichert kompilierte PHP-Skripte, so dass sie nicht bei jedem Aufruf neu kompiliert werden müssen
Zeile 16: Zeile 19:
Das '''Datencaching''' wird vom Benutzer bereitgestellt
Das '''Datencaching''' wird vom Benutzer bereitgestellt
* Nextcloud unterstützt mehrere Speicher-Caching-Backends, so dass Sie die Art von Memcache wählen können, die Ihren Bedürfnissen am besten entspricht
* Nextcloud unterstützt mehrere Speicher-Caching-Backends, so dass Sie die Art von Memcache wählen können, die Ihren Bedürfnissen am besten entspricht
* Die unterstützten Caching-Backends sind


; Caching-Backends
{|
{|
| APCu, APCu 4.0.6 und höher erforderlich || Ein lokaler Cache für Systeme
| APCu, APCu 4.0.6 und höher erforderlich || Ein lokaler Cache für Systeme
Zeile 32: Zeile 35:
* Empfohlene Caches sind APCu und Redis
* Empfohlene Caches sind APCu und Redis
* Nachdem Sie den von Ihnen gewählten Memcache (Daten-Cache) installiert und aktiviert haben, überprüfen Sie, ob er aktiv ist, indem Sie die PHP-Version und -Informationen ausführen
* Nachdem Sie den von Ihnen gewählten Memcache (Daten-Cache) installiert und aktiviert haben, überprüfen Sie, ob er aktiv ist, indem Sie die PHP-Version und -Informationen ausführen
; Hinweis
: Spezifische Optionen für die Cache-Konfiguration finden Sie im entsprechenden Abschnitt weiter unten


=== Kleiner Server ===
=== Kleiner Server ===
Zeile 40: Zeile 40:
  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.local' => '\OC\Memcache\APCu',


=== Organisationen mit Einzel-server ===
=== Einzel-Server ===
; Organisationen mit Einzel-Server
Verwenden Sie Redis für alles außer dem lokalen Memcache
Verwenden Sie Redis für alles außer dem lokalen Memcache
  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.local' => '\OC\Memcache\APCu',
Zeile 50: Zeile 51:
  ],
  ],


=== Organisationen mit gebündeltensetups ===
=== Cluster-Setup ===
; Organisationen mit Cluster-Setups
Verwenden Sie APCu für den lokalen Cache und entweder Redis-Cluster ...
Verwenden Sie APCu für den lokalen Cache und entweder Redis-Cluster ...
  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.local' => '\OC\Memcache\APCu',
Zeile 81: Zeile 83:
* Wenn Sie genügend Speicher haben, verwenden Sie APCu für das Memory Caching und Redis für das File Locking
* Wenn Sie genügend Speicher haben, verwenden Sie APCu für das Memory Caching und Redis für das File Locking
* Wenn Sie wenig Speicherplatz haben, verwenden Sie Redis für beides
* Wenn Sie wenig Speicherplatz haben, verwenden Sie Redis für beides
== APCu ==
[[Nextcloud/APCu]]


== Redis ==
== Redis ==
Zeile 105: Zeile 104:


</noinclude>
</noinclude>
[[Kategorie:Nextcloud/Konfiguration]]

Aktuelle Version vom 19. Juni 2024, 10:31 Uhr

Nextcloud - Memory caching - Leistung des Nextcloud-Servers verbessern

Beschreibung

Leistung des Nextcloud-Servers mit Memory Caching verbessern

  • Dabei werden häufig angefragte Objekte im Arbeitsspeicher abgelegt, um sie schneller abrufen zu können

Es gibt zwei Arten von Caches, die Sie verwenden können

  • einen PHP-Opcode-Cache, der allgemein als Opcache bezeichnet wird, und einen
  • Daten-Cache für Ihren Webserver, der allgemein als "Memcache" bezeichnet wird
Hinweis
Wenn Sie keinen lokalen Memcache installieren und aktivieren, sehen Sie eine Warnung auf Ihrer Nextcloud-Verwaltungsseite. Ein Memcache ist nicht erforderlich
Sie können die Warnung ignorieren, wenn Sie dies wünschen
Wenn Sie in Ihrer config.php nur einen verteilten Cache(memcache.distributed) und keinen lokalen Cache(memcache.local) aktivieren, werden Sie die Cache-Warnung trotzdem sehen

Ein PHP-Opcache speichert kompilierte PHP-Skripte, so dass sie nicht bei jedem Aufruf neu kompiliert werden müssen

  • PHP bündelt den Zend OPcache seit Version 5.5 im Kern, so dass Sie keinen Opcache manuell installieren müssen

Das Datencaching wird vom Benutzer bereitgestellt

  • Nextcloud unterstützt mehrere Speicher-Caching-Backends, so dass Sie die Art von Memcache wählen können, die Ihren Bedürfnissen am besten entspricht
Caching-Backends
APCu, APCu 4.0.6 und höher erforderlich Ein lokaler Cache für Systeme
Redis, PHP-Modul 2.2.6 und höher erforderlich Für lokales und verteiltes Caching sowie transaktionale Dateisperren
Memcached Für die verteilte Zwischenspeicherung

Datencaches oder Memcaches müssen in Nextcloud explizit konfiguriert werden, indem Sie den gewünschten Cache installieren und aktivieren und dann den entsprechenden Eintrag in derconfig.php hinzufügen (siehe Konfigurationsparameter für einen Überblick über alle möglichen Konfigurationsparameter)

Empfehlungen

Sie können sowohl einen lokalen als auch einen verteilten Cache verwenden

  • Empfohlene Caches sind APCu und Redis
  • Nachdem Sie den von Ihnen gewählten Memcache (Daten-Cache) installiert und aktiviert haben, überprüfen Sie, ob er aktiv ist, indem Sie die PHP-Version und -Informationen ausführen

Kleiner Server

Verwenden Sie nur APCu

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

Einzel-Server

Organisationen mit Einzel-Server

Verwenden Sie Redis für alles außer dem lokalen Memcache

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
     'host' => 'localhost',
     'port' => 6379,
],

Cluster-Setup

Organisationen mit Cluster-Setups

Verwenden Sie APCu für den lokalen Cache und entweder Redis-Cluster ...

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis.cluster' => [
    'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required
       'cache-cluster:7000',
       'cache-cluster:7001',
    ],
 ],
..

Memcached-Cluster für verteilte und sperrende Caches

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcache.locking' => '\OC\Memcache\Memcached',
'memcached_servers' => [
    [ 'server1.example.com', 11211 ],
    [ 'server2.example.com', 11211 ],
 ],
..
Hinweis
Wenn Sie mehrere Webserver betreiben und in Ihrer config.php einen verteilten Cache(memcache.distributed) oder einen File-Locking-Provider(memcache.locking) aktivieren, müssen Sie sicherstellen, dass sie sich auf denselben memcache-Server/Cluster beziehen und nicht auf localhost oder einen Unix-Socket

Redis vs. APCu

Hinweise zu Redis vs. APCu zum Thema Speichercaching
  • APCu ist beim lokalen Caching schneller als Redis
  • Wenn Sie genügend Speicher haben, verwenden Sie APCu für das Memory Caching und Redis für das File Locking
  • Wenn Sie wenig Speicherplatz haben, verwenden Sie Redis für beides

Redis

Nextcloud/Redis

Memcached

Nextcloud/Memcached

Cache-Verzeichnis

Ort des Cache-Verzeichnisses

Das Cache-Verzeichnis ist standardmäßig data/$user/cache, wobei $user der aktuelle Benutzer ist

  • Sie können die Direktive "cache_path" in config.php(siehe Konfigurationsparameter) verwenden, um einen anderen Speicherort auszuwählen


Anhang

Siehe auch

Links

Weblinks