1 Themenübersicht
Jeder ERP-System-Application-Server verfügt über verschiedene Caches. Alle Caches basieren auf dem Shared Cache, der zur Speicherung von Instanzen von Business Objects im Hauptspeicher dient. Alle Sessions eines ERP-System-Application-Servers benutzen die Caches gemeinsam. Dadurch wird erreicht, dass Daten, die von unterschiedlichen Sessions sehr oft gelesen werden, nur einmal im Hauptspeicher vorhanden sein müssen. Es werden darüber hinaus die Datenbankzugriffe verringert, was eine Geschwindigkeitssteigerung des Systems zur Folge hat. Nach dem Start eines Application-Servers sind die Caches zunächst leer, was zu längeren Antwortzeiten bei der erstmaligen Verwendung von Anwendungen und Suchen führt. Wenn ein Application-Server längere Zeit in Betrieb ist, sind die Caches gefüllt und die Antwortzeiten kurz. Durch eine homogene Last auf dem Application-Server, z. B. dadurch dass viele Benutzer die gleiche Menge an Anwendungen verwenden, kann dieser Effekt schneller erreicht werden. Dadurch dass die Daten zu nicht verwendeten Anwendungen auch nicht geladen werden, ist die Belastung der Datenbank und der Hauptspeichers gering.
In bestimmten Fällen, z. B. Vorführungen auf gerade neu gestarteten Application-Servern im Rahmen einer Veranstaltung, ist es jedoch sinnvoll, explizit die Caches vorab zu füllen. Hierfür steht die Anwendung „Application-Server-Cache füllen“ zur Verfügung. Das Füllen benötigt initial einige Zeit, CPU- sowie Datenbankressourcen und führt dazu, dass auch teilweise Daten in die Caches geladen werden, die eigentlich nicht benötigt werden. Dafür verfügt das System danach über eine optimale Geschwindigkeit beim Öffnen von Anwendungen. Zu beachten ist dabei, dass nur diejenigen Anwendungen geöffnet werden, für die der Benutzer, der die Anwendung „Application-Server-Cache füllen“ nutzt, berechtigt ist und die er auf Grund der ihm zugeordneten Organisationen öffnen kann.
Hinweis:
Die Ergebnis-Caches der Suchen, die Caches und die Berichts-Prozessoren des SOM werden von dieser Anwendung nicht beeinflusst. Konkrete Abläufe wie beispielweise die Suche nach Artikeln oder die Ausgabe von Belegen sollten vor einer Vorführung vorab einmal durchgeführt werden, um die Caches der beteiligten Komponenten zu füllen.
Die Anwendung „Application-Server-Cache füllen“ sorgt dafür, dass der Cache gefüllt wird, indem sie den Testlauf „com.cisag.pgm.StartAllDialogApplications“ ausführt. Während des Testlaufes werden alle Dialog-Anwendungen, die der aktuelle Benutzer öffnen darf und die nicht zum Löschen markiert sind oder in Testnamensräumen liegen, geöffnet, initialisiert und wieder beendet. Dadurch werden alle benötigten Metadaten für diese Anwendungen in die Caches geladen. Zudem werden die Metadaten zu allen von der Anwendung im Karteireiter „Suchen“ verwendeten Suchen aufgebaut. Dies ermöglicht den schnellen Wechsel auf den Karteireiter „Suchen“ und zwischen den im Karteireiter „Suchen“ zur Auswahl angebotenen Suchen einer Anwendung. Der Vorgang des Füllens kann einige Minuten dauern und erfordert viel Rechenleistung. Danach ist jedoch die Zeit für das Anmelden und das Verwenden von Anwendungen deutlich reduziert.
2 Zielgruppe
- Fachliche Berater
- Technische Berater
- Administratoren
3 Begriffsbestimmung
Cache
Der Cache ist eine Datenstruktur, in der Objekte zwischengespeichert werden, um kurze Zugriffszeiten zu ermöglichen. Die Funkionsweise des Caches basiert auf der Annahme, das ein Objekt, welches vor kurzem benötigt wurde, mit hoher Wahrscheinlichkeit bald wieder benötigt wird. Ein Cache hat im Allgemeinen eine endliche Größe und wendet unterschiedliche Strategien an, um zu entscheiden, welche Objekte wieder aus dem Cache entfernt werden. Caches können mehrstufig hintereinander geschaltet sein, wie zum Beispiel Transaction-Cache, Shared-Cache und Datenbank-Cache
Testlauf
Ein Testlauf ist die Definition eines Ablaufes, in dem für verschiedene Anwendungen einzelne Tests durchgeführt werden.
4 Anwendungsbeschreibung
Die Anwendung „Application-Server-Cache füllen“ dient dem Füllen des Caches des aktuellen Application-Servers. Dies reduziert die Antwortzeiten nach dem Neustart des Application-Servers, insbesondere die Zeit zum Öffnen von Anwendungen. Auf externe Komponenten wie den SOM hat dies keinen Einfluss.
4.1 Arbeitsbereich
Der Arbeitsbereich ist in zwei Rubriken unterteilt.
4.1.1 Rubrik Laufzeiten
Wenn sie die Aktion „Application-Server-Cache füllen“ ausgeführt haben, werden in dieser Rubrik die Laufzeit-Werte angezeigt.
Feld | Erläuterung |
Benötigte Zeit | Wenn Sie das Füllen des Caches durchgeführt haben, enthält dieses Feld die Dauer des letzten Durchlaufes. |
4.1.2 Rubrik Cache-Größen
In dieser Rubrik werden beispielhaft einige Informationen über den Cache angezeigt. Sie können hier keine Daten direkt verändern. Weitere Informationen über den Inhalt einiger Caches des ERP-System-Application-Servers erhält man in der Anwendung „Systemcockpit“.
Feld | Erläuterung |
Anzahl Data-Descriptions | Zeigt an, wie viele Data-Descriptions im Cache zwischengespeichert sind. |
Maximale Anzahl Data-Descriptions | Zeigt an, wie viele Data-Descriptions maximal im Cache zwischengespeichert werden können. |
Anzahl Stringtable-Elemente | Zeigt an, wie viele Stringtable-Elemente im Cache zwischengespeichert sind. |
Maximale Anzahl Stringtable-Elemente | <begin com.cisag.sys.kernel.caching.StringTableCacheMaxiZeigt an, wie viele Stringtable-Elemente maximal im Cache zwischengespeichert werden können. |
Anzahl Actions | Zeigt an, wie viele Actions im Cache zwischengespeichert sind. |
Maximale Anzahl Actions | Zeigt an, wie viele Actions maximal im Cache zwischengespeichert werden können. |
Anzahl Valuesets | Zeigt an, wie viele Valuesets im Cache zwischengespeichert sind. |
Anzahl OQL-Search-Mapper | Zeigt an, wie viele OQL-Search-Mapper im Cache zwischengespeichert sind. |
Anzahl Dynamic-OQL-Anweisungen | Zeigt an, wie viele Dynamic-OQL-Statements im Cache zwischengespeichert sind. |
Maximale Anzahl Dynamic-OQL-Anweisungen | Zeigt an, wie viele Dynamic-OQL-Statements maximal im Cache zwischengespeichert werden können. |
Unter der Überschrift „Generische-Caches“ werden in der Tabelle die Informationen zu allen registrierten generischen Caches angezeigt. Dies ermöglicht die Analyse des Zugriffs-Verhaltens und der Änderungsfrequenz dieser Caches. angezeigt.
Es gibt folgende Buttons und Spalten:
- Sortieren: Verändert die Sortierung der Tabelle.
Spalte | Erläuterung |
Datenbank | Datenbank des Caches. Der Cache beinhaltet Daten aus der hier angegebenen Datenbank. |
Cache-Klasse | Java-Klasse, die den Cache realisiert. |
Zugriffe | Anzahl der Zugriffe auf den Cache seit der ersten Anforderung des Caches. Diese Zahl gibt an, wie oft die zur Datenbank gehörende Instanz der Cache-Klasse angefordert wurde. Da Anwendungen den Verweis auf diese Instanz durchaus über einen gewissen Zeitraum halten können, sagt diese Zahl nicht direkt etwas darüber aus, wie häufig Methode des Caches aufgerufen wurden oder wie häufig die implementierende Java-Klasse dabei auf die Datenbank zugegriffen hat. |
Business-Object-Änderungen | Anzahl der Business-Object-Änderungen seit der ersten Anforderung des Caches. Ein Cache muss invalidiert, d.h. verworfen werden, wenn sich eines der Business Objects ändern, aus dessen Daten der Cache seinen Inhalt berechnet hat. Insbesondere machen daher Caches auf sich häufig ändernden Daten meist wenig Sinn. |
Erzeugte Cache-Instanzen | Anzal der erzeugte Cache-Instanzen seit dem Start des Application-Servers. Beim ersten Anfordern eines Caches für eine Datenbank bzw. beim Anfordern eines Caches für eine Datenbank nachdem eines der zugrunde liegenden Business Objects verändert wurde, muss eine neue Instanz des Caches erzeugt werden. In Produktivsystemen sollte diese Zahl klein sein und sich selten ändern. In Entwicklungssystemen haben diese Daten für die Caches der Repository-Datenbank wenig Bedeutung, da sich in diesen Systemen die Entwicklungsobjekt häufig ändern. |
Letzte Business-Object-Änderung | Zeitpunkt der letzten Änderung an einem Business Object, das dem Cache zugrunde liegt. |
Zuletzt erzeugt | Zeitpunkt, zu dem der Cache zuletzt neu erzeugt wurde. |
4.2 Customizing
Für die Anwendung „Application-Server-Cache füllen“ sind in der Anwendung „Customizing“ keine Einstellungen festzulegen.
4.3 Berechtigungen
Comarch ERP Enterprise arbeitet mit einem mehrstufigen Berechtigungskonzept. Fähigkeiten und Berechtigungen können generell auf verschiedenen Ebenen vergeben werden:
- Auf den Ebenen für Frameworks und Anwendungen vergeben Sie z. B. eine Berechtigung, mit der eine Anwendung geöffnet werden kann.
- Auf den Ebenen für Business Entitys vergeben Sie z.B. eine Berechtigung, mit der eine Business Entity erfasst oder erzeugt werden kann. Die Entity-bezogenen Berechtigungen gelten anwendungsübergreifend.
Für einige Anwendungen wurden spezielle Fähigkeiten entwickelt, die sich auf bestimmte Aktionen und Funktionen beziehen. Auch für diese Fähigkeiten können Berechtigungen vergeben werden. So kann z. B. für die spezielle Fähigkeit, eine Bestellung ausgeben zu können, eine Berechtigung vergeben werden.
Das Berechtigungskonzept sowie die generellen anwendungsbezogenen und Entity-bezogenen Berechtigungen können Sie in der Technischen Dokumentation im Dokument Berechtigungen nachlesen.
Für Berechtigungsfestlegungen für die Anwendung „Application-Server-Cache füllen“ ist kein Business Entity relevant.
4.4 Vorgehensweisen
4.4.1 Leeren des Application-Server-Caches
Der „Neu“-Button in der Standard-Symbolleiste ermöglicht das Leeren des Application-Server-Caches. Da das Leeren der Caches die Leistung des Systems beeinträchtigen kann, wird die Aktion es nach dem Bestätigen eines Bestätigungs-Dialoges ausgeführt.
4.4.2 Aktualisieren der statistischen Informationen
Die Werte, die Sie in der Gruppe „Cache-Größen“ sehen, sind nur zu einem Bestimmten Zeitpunkt gültig. Um die neusten Werte zu erhalten, drücken Sie den „Aktualisieren“-Button.
4.4.3 Füllen des Application-Server-Caches
Drücken Sie den Button „Application-Server-Cache füllen“ in der Standard-Symbolleiste.
Startet das Füllen des Application-Server-Caches.
- Öffnen Sie die Anwendung „Application-Server-Cache füllen“.
- Wählen Sie in der Standardsymbolleiste „Application-Server-Cache füllen“.
- Bestätigen Sie die Warnung „Das Füllen der Caches des aktuellen ERP-System-Application-Servers kann einige Zeit in Anspruch nehmen, benötigt viel Arbeitsspeicher und kann vorübergehend zur Beeinträchtigung der Systemleistung führen. Sind Sie sicher, dass Sie diese Aktion durchführen möchten?“ mit „Ja“.
Der Testlauf „com.cisag.pgm.StartAllDialogApplications“ wird durchgeführt. Dieser Testlauf ist so definiert, dass alle Dialoganwendungen gestartet werden. Anschließend wird durch die verschiedenen Ansichten geblättert. Dadurch werden alle Data-Descriptions, Valuesets und Actions, die für die Oberfläche relevant sind, geladen.
Hinweis:
Nach dem Ausführen der Aktion „Application-Server-Cache füllen“ sind die Caches gefüllt. Sie bleiben gefüllt, solange der Application-Server läuft. Es ist nicht notwendig oder sinnvoll die Aktion mehrfach auszuführen solange der Application-Server läuft.