Das Caching wird für die Zwischenspeicherung der Run-Time Authentifizierungs- und Autorisierungsregeln verwendet, die sonst lange in der Berechnung dauern könnten.

Diese Seite beschreibt den Cache, den man in jeder Crowd-verbundenen Applikation, so wie Jira, Confluence und Bamboo konfigurieren kann. Für einen Überblick über die anderen Caching-Typen, die Crowd Ihnen bietet, sehen Sie sich bitte den Überblick über das Caching an.

(Info) Das Crowd-Applikations-Caching wird auch Client-Caching genannt.


Erklärung des Crowd-Applikations-Cachings

Die Crowd-integrierten Applikationen können Benutzer-, Gruppen- und Rollen-Daten im lokalen Cache speichern. Das verbessert die Performance von Crowd, da die Applikationen dann nicht wiederkehrend Informationen von Crowd anfragen müssen. Generell ist es nicht notwendig das Applikations-Caching zu konfigurieren, aber das hängt von der Größe Ihrer Applikationen ab.


Das Applikations-Caching aktivieren

So aktivieren Sie das Applikations-Caching:

Editieren Sie die crowd-ehcache.xml Datei, die im WEB-INF/classesdirectory des Crowd-Clients Ihrer Applikation liegt. Die beiden hauptsächlichen Einstellungen sind:

  • diskStore: Wenn Sie die Laufwerk-Persistenz aktiviert haben (diskPersistent="true"), dann ist das der Ort auf dem Dateisystem, an dem das Ehcache seine Caching-Informationen abspeichern wird. Standardmäßig verwendet es java.io.tmpdir, welche Javas Ablageort für temporäre Dateien ist.
  • defaultCache: Diese Eigenschaft hat viele konfigurierbare Optionen. Bitte lesen Sie die Dokumentation von Ehcache (auf Englisch), um die Auswirkungen und Möglichkeiten dieser Einstellung voll umfänglich zu verstehen. Einige grundlegende Features sind unten beschrieben.


Manche Applikationen aktivieren/deaktivieren womöglich das Caching, je nach den Crowd Server Einstellungen.

Die Crowd API erlaubt einer Applikation Daten abzufragen, unabhängig davon ob das Caching auf dem Crowd Server aktiviert ist oder nicht (isCacheEnabled). Der Crowd Java Client benutzt dieses API-Feature nicht, weil es mehr Sinn macht das Applikations-Caching nur auf der Applikationsseite zu konfigurieren. Wenn Sie eine Crowd-integrierte, benutzerdefinierte Applikation haben, die diesen API-Aufruf verwendet, dann beeinflusst die Einstellung im Crowd Server (https://confluence.atlassian.com/crowd/authorization-caching-17956962.html) auch das Caching auf Ihrer Applikationsseite.


Auszug aus der ehcache.xml Datei

Unten ist ein kleiner Auszug aus der crowd-ehcache.xml Datei.

<ehcache>

    <diskStore path="java.io.tmpdir"/>

    <defaultCache
        maxElementsInMemory="4096"
        eternal="false"
        overflowToDisk="false"
        timeToIdleSeconds="300"
        timeToLiveSeconds="300"
        diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"/>

</ehcache>


Grundlegende Cache-Attribute

  • eternal: Das bedeutet, dass die Elemente im Cache unendlich lange gespeichert werden und jegliche Time-Outs ignoriert werden. Es wird dringend empfohlen, dass Sie dieses Attribut auf "false" setzen.
  • timeToldleSeconds: Dieses Attribut legt die maximale Zeit zwischen dem Zugriff und der Ablaufzeit eines Elements fest. Wenn der Wert 0 definiert wird, dann ist das Element unbegrenzt verfügbar.
  • timeToLiveSeconds: Dieses Attribut legt die maximale Zeit zwischen der Erstellung eines Elements und dessen Ablaufzeit fest. Wenn der Wert 0 definiert wird, dann ist das Element unbegrenzt verfügbar.
  • maxElementsInMemory: Dieses Attribut legt die maximale Anzahl von Elementen fest, die im Cache-Speicher gespeichert werden können. Wenn dieses Limit erreicht wurde, wir die Standard-Caching-Strategie LRU (Least Recently Used) angewendet und diese Elemente werden entfernt.
    Ein Element kann alles sein, das in Crowds Cache gespeichert wird: Benutzer, Gruppen, Benutzerlisten, Gruppenlisten, Listen mit Benutzermitgliedschaften, Listen mit Gruppenmitgliedschaften.
    (Haken) Tipp: Wenn Sie alles im Speicher sichern möchten, dann probieren Sie für den Anfang diesen Wert aus:
    (Number of users x 2) + (number of groups x 2)


Wichtige Client-Caches

Der Standardwert von maxElementsInMemory in Höhe von 4096 sollte für die meisten Crowd-integrierten Applikationen ausreichen. Stellen Sie jedoch sicher, dass bei größeren Installationen die Werte des maxElementsInMemory Attributs nach der empfohlenen Größenkalkulation unten festgelegt werden:

Name des CachesGrößenkalkulation
com.atlassian.crowd.integration-userDie Anzahl der Benutzer Ihres Systems.
com.atlassian.crowd.integration-groupDie Anzahl der Gruppen Ihres Systems.
com.atlassian.crowd.integration-parentgroupDie Anzahl der Gruppen Ihres Systems.
com.atlassian.crowd.integration-group-membershipDie Anzahl der Benutzer, multipliziert mit der Anzahl der Gruppen (Benutzer x Gruppen). Das Produkt daraus kann unter Umständen sehr groß sein, deshalb können Sie dies optimieren, indem Sie nur die Anzahl der jederzeit aktiven Benutzer für die Multiplikation verwenden. Der Algorithmus wird auf den com.atlassian.crowd.integration-all-group-members Cache zurückgreifen, bevor er den Server für die Prüfung heranzieht.
com.atlassian.crowd.integration-all-membershipsDie Anzahl der Benutzer Ihres Systems.
com.atlassian.crowd.integration-all-group-membersDie Anzahl der Gruppen Ihres Systems.





Crowd Dokumentation Übersicht:



Crowd Doku

Diese Seite wurde zuletzt am 19.04.2024 geändert.