CacheSizeManager
Der CacheSizeManager teilt den zur Verfügung stehenden Hauptspeicher auf die verschiedenen Zwischenspeicher (Caches) auf. Unter diesem Eintrag werden Informationen zur Gesamt-Cache-Größe und Informationen zu den Projektspezifischen-Caches („SharedCaches“) dargestellt. Der CacheSizeManager ist, ebenso wie der RepositoryManager ein dynamischer Manager. Das heißt, der Eintrag wird erst dann in der JMX-Konsole geladen, wenn das entsprechende Projekt von mindestens einem Benutzer geöffnet wurde. Die Informationen werden dann dynamisch zur Laufzeit aktualisiert („Refresh“).
Attribute (gesamt)
CacheCount: Gesamtanzahl der momentan angemeldeten Caches (aller Projekte).
CacheSize: Absolute Größe des Caches. Der hier abgebildete Wert ergibt sich aus den Werten, die für die Parameter CACHE_SIZE (absolute Angabe) oder CACHE_PERCENT (prozentuale Angabe) in der Konfigurationsdatei fs-server.conf gesetzt wurden.
LastCalculationDate: Zeitpunkt, zu dem der Speicher zwischen den Caches zuletzt neu verteilt wurde.
UsedCacheSize: Gibt die Cachegröße an, die momentan von allen Caches tatsächlich genutzt wird.
Operation
void distributeCacheMemory(): Beim Ausführen dieser Methode wird der zur Verfügung stehende Speicher neu verteilt. Nach der Ausführung wird der unter LastCalculationDate gespeicherte Wert angepasst.
Attribute (projektbezogen)
Neben den Gesamtinformationen für die CacheSize besitzen die Projekte eigene CacheSizeMBeans, die unterhalb des CacheSizeManagers unter dem MBean SharedCaches zusammengefasst werden.
MissCount: Der Zähler erfasst die Anzahl an Anfragen aller Projekte auf dem Server, die nicht direkt aus dem Cache bedient werden konnten. Diese Anfragen müssen an das Backend weitergeleitet und über einen Zugriff auf die Festplatte bedient werden. Ein hoher oder stark ansteigender Wert ist ein Indikator für eine schlechte Cache-Nutzung und damit für lange Antwortzeiten.
PreferredSize: Hier wird die Speichergröße abgebildet, die der Projekt-Cache bevorzugen würde. Diese Speichergröße entspricht nicht immer dem real zugeteilten Wert („Size“), der unter anderem abhängig von der PreferredSize verteilt wird.
Size: Standardmäßig wird jedem Projekt-Cache vom CacheSizeManager die Größe von einem MB zugeteilt. Ist die Preferred Size höher, kann eventuell mehr Speicher zur Verfügung gestellt werden. Wieviel Speicher ein Projekt-Cache erhält, ist abhängig von der zur Verfügung stehenden Gesamtspeichergröße (Globale CacheSize), der „PreferredSize“ aller Projekte und der Gewichtung für die einzelnen Projekte.
Weight: Die Gewichtung ist ein Parameter, der über den ServerManager über die Projekteigenschaften definiert wird. Über die Gewichtung eines Projekts erhält ein Projekt-Cache mehr (bei hoher Gewichtung) oder weniger (bei niedriger Gewichtung) Speicher vom CacheSizeManager zugeteilt.