Zum Hauptinhalt springen
Version: 14.0

Warum ist mein BOC Produkt langsam?

Problem: Lange Reaktionszeiten, schlechte Performance

Bestimmte (oder alle) Funktionen in Ihrem BOC Produkt (ADONIS, ADOIT oder ADOGRC) verhalten sich ungewöhnlich langsam bzw. brauchen sehr lange um abgeschlossen zu werden:

Manchmal scheint ein BOC Produkt im Laufe der Zeit immer langsamer zu werden. Unter Umständen verursachen punktuelle Lastspitzen vorübergehend schlechte Reaktionszeiten, die sich danach wieder normalisieren. Laufende Wartungstätigkeiten an Ihrer IT-Infrastruktur können vorübergehenden zu einer Verschlechterung der Reaktionszeiten führen. Auch Veränderungen Ihrer IT-Infrastruktur können eine Verschlechterung der Reaktionszeiten herbeiführen.

Um schlechte Reaktionszeiten wieder zu verbessern, beachten Sie die nachfolgend beschriebenen Lösungsansätze.

Lösung 1: Datenbank-Statistiken aktualisieren

Führen Sie im Administrations-Toolkit aus dem Menü "Extras" die Funktion "Datenbank-Statistiken aktualisieren..." aus.

Abbildung zeigt den Menüpunkt "Datenbank-Statistiken aktualisieren"

Diese Funktion optimiert die Zugriffszeiten auf die Datenbank. Die Funktion aktualisiert nicht nur die Statistiken über die Datenverteilung, sondern defragmentiert auch die Daten in der Datenbank und führt einen Neuaufbau der relevanten Datenbank-Indizes durch. In vielen Fällen führt diese Maßnahme zu einer deutlichen Verbesserung der Performance von BOC Produkten.

Beachten Sie:

  • Das Aktualisieren der Datenbank-Statistiken dauert abhängig von der Datenbankgröße normalerweise zwischen wenigen Sekunden bis hin zu 30 Minuten oder mehr.

  • Während die Datenbank-Statistiken aktualisiert werden, können sich vorübergehend die Reaktionszeiten für andere Anwender weiter verschlechtern, da der Aktualisierungsvorgang zusätzliche Last auf dem Datenbanksystem erzeugt. Es wird empfohlen, Datenbank-Statistiken zu einem Zeitpunkt zu aktualisieren, zu dem nur wenige Anwender Ihr BOC Produkt benutzen.

  • Es wird empfohlen, Datenbank-Statistiken über das Administrations-Toolkit 1 x pro Woche zu aktualisieren.

Dieses Video zeigt die Funktionsausführung:

Lösung 2: Das Ende externer Einflussfaktoren abwarten

Externe Einflussfaktoren, auf die Sie keinen Einfluss haben, könnten das System vorübergehend bremsen: Möglicherweise werden (ohne Ihr Wissen) Wartungstätigkeiten in Ihrer IT-Infrastruktur durchgeführt, oder Lastspitzen in anderen Softwareprodukten oder andere temporäre Ereignisse bremsen das System.

Hinweis: Falls Sie ein BOC Produkt aus der BOC Cloud (SaaS) nutzen, werden Wartungstätigkeiten die BOC durchführt, stets rechtzeitig und vorab per E-Mail angekündigt (außer es ist eine kurzfristige Notfallwartung erforderlich).

Warten Sie daher eine gewisse Zeit ab, bis etwaige Wartungstätigkeiten (oder andere Ereignisse) abgeschlossen werden können. Dies ist im Normalfall innerhalb weniger Stunden der Fall, es kann aber auch bis zum nächsten Arbeitstag dauern. Kontaktieren Sie gegebenenfalls Ihr IT-Team um über laufende Wartungstätigkeiten informiert zu werden.

Wenn schlechte Reaktionszeiten auf IT-Wartungstätigkeiten oder andere temporäre Ereignisse zurückzuführen sind, werden sich die Reaktionszeiten nach deren Ende wieder verbessern. In diesem Fall sind keine weiteren Maßnahmen erforderlich.

Lösung 3: Neustart der Dienste

Hinweis

Diesen Lösungsansatz können Sie nur anwenden, wenn Ihr BOC Produkt in Ihrer eigenen Infrastruktur (on premise) installiert ist. Falls Sie ein BOC Produkt aus der BOC Cloud (SaaS) nutzen, wird BOC die erforderlichen Schritte bei Bedarf durchführen.

In seltenen Fällen können interne Dominoeffekte von lastintensiven und blockierenden Aktionen zu langanhaltend verlangsamten Reaktionszeiten führen. Dies kann durch einen Neustart der Dienste des BOC Produkts behoben werden.

Stoppen Sie alle Dienste des BOC Produkts und starten Sie sie danach neu:

  • Den Applikationsserver-Dienst
  • Und den Webserver-Dienst

Warten Sie danach einige Minuten (bei sehr großen Szenarien bis zu 1 Stunde oder mehr), bis die Dienste erfolgreich hochgefahren und initialisiert werden konnten.

Wichtig: Beachten Sie, dass durch einen Neustart alle laufenden Benutzersitzungen beendet werden, ohne dass Anwender Ihre letzen Änderungen speichern können. Während eines Neustarts kann kein Anwender auf das BOC Produkt zugreifen. Es wird deshalb empfohlen, einen Neustart nur im Rahmen eines Wartungsfensters durchzuführen.

Lösung 4: Veränderungen identifizieren

Die Reaktionszeiten Ihres BOC Produkts waren zu einem früheren Zeitpunkt höchstwahrscheinlich in Ordnung. Stellen Sie sich deshalb die Frage: Was hat sich verändert, das ein Auslöser für die langsameren Antwortzeiten sein könnte?

Typische Veränderungen, die Performanceprobleme verursachen können sind beispielsweise:

  • Änderungen an Ihrer IT-Infrastruktur (Aktualisierung von Hardware- oder Software-Komponenten, Änderung der Netzwerkkonfiguration, Serverumstellungen, etc).

  • Aktivierung neuer Schnittstellen zu Drittsystemen.

  • Workshops, Schulungen und andere Veranstaltungen, bei denen punktuell mehr Anwender auf das BOC Produkt zugreifen, als vorgesehen ist.

  • Zeitpunkte mit ungewöhnlich hoher Last (z.B. Lastspitzen zum Quartalsende).

  • Veränderte Nutzungsorte, z.B. Zugriff aus dem Home-Office anstatt vom üblichen Unternehmens-Standort.

  • Aktualisierung der Version oder der Konfiguration Ihres BOC Produkts.

  • Migration von Komponenten Ihres BOC Produkts auf eine neue Infrastruktur (z.B. auf andere Server).

  • Andere Änderungen.

Sobald Sie die ursächliche Veränderung identifiziert haben, überlegen Sie ob diese nur vorübergehender Natur ist oder ob Sie sie rückgängig machen können.

Möglicherweise stellen Sie auch fest, dass Ihr System für Lastspitzen nicht ausreichend dimensioniert ist. In diesem Fall erhöhen Sie die verfügbaren Systemressourcen.

Lösung 5: REST-API Zugriffe prüfen

Haben Sie ein externes System mit Ihrem BOC Produkt integriert und nutzen Sie dafür die REST-API von ADONIS, ADOIT oder ADOGRC?

Falls ja, stellen Sie sicher, dass die Anzahl der REST-Abfragen pro Stunde den empfohlenen Maximalwert nicht übersteigt. Führen Sie Datenabgleichungen mit intensiver REST-Kommunikation zu Randzeiten durch, zu denen nur wenige Anwender auf das System zugreifen. Reduzieren Sie ggf. die Anzahl der REST-Abfragen.

Falls Ihre REST-Implementierung eine zu hohe Anzahl von REST-Abfragen zu erfordern scheint, kontaktieren Sie Ihre Kundenbetreuung. Möglicherweise kann mit Hilfe unserer Solution-Teams eine effizientere Lösung gefunden werden.

Lösung 6: Netzwerk prüfen

Prüfen Sie Geschwindigkeit und Bandbreite der Netzwerkverbindung zwischen Applikationsserver und Datenbankserver, sowie zwischen anderen Komponenten Ihrer Produktinstallation. Vergleichen Sie die aktuelle Netzwerkleistung mit den Anforderungen Ihres BOC Produkts:

Netzwerkverbindung zwischen Applikationsserver und Datenbankserver

Netzwerk-Geschwindigkeit:

  • Zwischen Applikationsserver und Datenbankserver wird eine round-trip-time (RTT) von <= 1ms empfohlen.
  • Zwischen Applikationsserver und Datenbankserver ist eine round-trip-time (RTT) von zumindestens <= 3ms erforderlich.

Bandbreite:

Um die verfügbare Bandbreite zu prüfen, starten Sie das Administrations-Toolkit auf demselben Rechner, auf dem auch der Applikationsserver Ihres BOC Produkts läuft. Wählen Sie danach den Menüpunkt Extras > Bandbreite analysieren und starten Sie den Bandbreiten-Test.

Das Ergebnis zeigt Referenzwerte für optimale Antwortzeiten, sowie Ihre aktuellen Werte. Wenn Ihre Werte ein wenig über den Optimalwerten liegen, ist das normalerweise kein Problem. Falls Ihre Werte jedoch in vielen Kategorien ein Vielfaches der Optimalwerte betragen, könnte Ihre Netzwerkbandbreite oder Ihre Netzwerk-Latenz die Ursache für langsame Antwortzeiten sein. Kontaktieren Sie im Zweifelsfall den technischen Kundensupport der BOC für eine Bewertung der Ergebnisse des Bandbreiten-Tests.

Netzwerkverbindung zwischen Client und Web-Server

Langsame oder instabile Netzwerkverbindungen zwischen Client und Web-Server können beispielsweise folgende Anwendungsfälle verlangsamen:

  • Öffnen der URL zu Ihrem BOC Produkt. Zeitdauer bis die Login-Maske erscheint.
  • Öffnen des Notebooks eines Objekts. Zeitdauer bis im Notebook alle Daten vollständig geladen sind und angezeigt werden.
  • Dauer der Zugriffe auf die REST-Schnittstelle Ihres BOC-Produkts.

Stellen Sie eine stabile Netzwerkverbindung sicher, die die Bandbreiten-Anforderungen Ihres BOC Produkts erfüllt. Bedenken Sie, dass eine WLAN-Verbindung aus dem Home-Office oder von Unterwegs oftmals höhere Latenzen und geringere Stabilität zeigt, als die LAN-Verbindung an einem Unternehmensstandort.

Paketverluste identifizieren:

Öffnen Sie auf dem Web-Server das Verzeichnis in dem sich die Protokoll-Dateien (Logs) des Web-Servers befinden. Standardmäßig ist das das Verzeichnis "<Apache Tomcat Installationsverzeichnis>\logs".

Identifizieren Sie im Log-Verzeichnis die Datei "<Produktname>_Core.log" (z.B. "ADONIS15.0.0_Core.log").

Öffnen Sie diese Log-Datei in einem Texteditor und suchen Sie darin rund um den Zeitpunkt der Performanceprobleme nach folgenden Schlüsselworten: "action:", "actionp:", "webmethod:".

Hinter diesen Schlüsselworten sind normalerweise drei Zahlen angeführt, beispielsweise in folgender Form: "actionp:242166-666606-57". Die letzte Zahl (hier "57") ist die fortlaufende Nummer der Anfrage. Diese Zahl zählt stets und kontinuierlich hoch, solange die beiden führenden Zahlen gleich bleiben (siehe Abbildung). Sollten sich in der Nummernfolge Lücken auftun, dann zeigt dies an, dass die entsprechenden Anfragen vom Web-Server nicht empfangen wurden. In Einzelfällen kann dies ab und zu vorkommen, aber tritt es mehrfach auf, dann kontaktieren Sie Ihr IT-Team um die Netzwerkstabilität zu verbessern oder überlegen Sie den Zugriff von einem anderen Standort bzw. über ein anderes Netzwerk.

Abbildung zeigt fortlaufende Anfrage-Nummern im Core.log&quot;

Lösung 7: Löschen alter Daten

Löschen Sie nicht mehr benötigte Datenbestände, wie beispielsweise alte Modelle, Objekte oder Repositories.

Führen Sie nach dem Löschen größerer Datenbestände unbedingt eine Aktualisierung der Datenbank-Statistiken durch!

Wichtig: Es wird dringend empfohlen, vor jeder Löschung von Daten zunächst eine Sicherung (Backup) der Datenbank zu erstellen.

Lösung 8: Auslastung der Datenbank prüfen

Hinweis

Diesen Lösungsansatz können Sie nur anwenden, wenn Ihr BOC Produkt in Ihrer eigenen Infrastruktur (on premise) installiert ist. Falls Sie ein BOC Produkt aus der BOC Cloud (SaaS) nutzen, wird BOC die erforderlichen Schritte bei Bedarf durchführen.

Kontaktieren Sie Ihr Datenbank-Team und lassen Sie die Last am Datenbank-Server zu einem Zeitpunkt prüfen, zu dem die langsamen Reaktionszeiten in Ihrem BOC Produkt tatsächlich auftreten.

Falls die Datenbank oder der Datenbankserver überlastet sind, kann Ihr Datenbank-Team dies normalerweise durch Konfigurationsanpassungen beheben.

Lösung 9: Systemressourcen erhöhen

Hinweis

Diesen Lösungsansatz können Sie nur anwenden, wenn Ihr BOC Produkt in Ihrer eigenen Infrastruktur (on premise) installiert ist. Falls Sie ein BOC Produkt aus der BOC Cloud (SaaS) nutzen, wird BOC die erforderlichen Schritte bei Bedarf durchführen.

Prüfen Sie auf dem Web-Server, auf dem Applikationsserver sowie auf dem Datenbankserver Ihres BOC Produkts die Auslastung der wichtigsten Systemressourcen:

  • CPU
  • RAM (Arbeitsspeicher)
  • Netzwerk
  • Maximalgröße des Java-Speichers des Web-Servers: Erhöhen Sie bei Bedarf den "Maximum memory pool" Ihrer Apache Tomcat Installation. Stellen Sie davor jedoch sicher, dass der Web-Server über ausreichend physischen Speicher (RAM) verfügt, um den erhöhten "Maximum memory pool" versorgen zu können. Für kleine und mittelgroße Szenarien ist ein "Maximum memory pool" von 2048 MB normalerweise ausreichend. Für große Szenarien können sehr viel höhere Werte erforderlich sein.

Erhöhen Sie Systemressourcen, die stark ausgelastet sind.

Bedenken Sie, dass bei punktuellen Lastspitzen mehr Systemressourcen benötigt werden, als bei normaler Last.

Stellen Sie außerdem sicher, dass die genutzte Infrastruktur die Systemanforderungen des BOC Management Office erfüllt. Sie finden die minimalen Systemanforderungen in der Beschreibung der Hardware-/Software-Anforderungen Ihres Produkts:

Lösung 10: Betroffene Benutzer identifizieren

Stellen Sie fest, ob alle oder nur manche Benutzer von der Verschlechterung der Reaktionszeiten betroffen sind. Falls nur bestimmte Benutzer betroffen sind, überlegen Sie, was diese von den anderen (nicht betroffenen) Benutzern unterscheidet:

  • Sind nur Benutzer mit bestimmten Anwendungsfällen betroffen? (Beispielsweise nur Benutzer, die bestimmte Reports erzeugen, etc.)

  • Sind nur Benutzer von bestimmten geografischen Standorten betroffen?

  • Sind nur Benutzer, die zu bestimmten Zeitpunkten zugreifen, betroffen?

Sobald Sie den relevanten Unterschied zwischen betroffenen und nicht betroffenen Benutzern identifiziert haben, zeigt dies wahrscheinlich auch die Lösung des Performanceproblems auf.

Lösung 11: Logs prüfen

Hinweis

Diesen Lösungsansatz können Sie nur anwenden, wenn Ihr BOC Produkt in Ihrer eigenen Infrastruktur (on premise) installiert ist. Falls Sie ein BOC Produkt aus der BOC Cloud (SaaS) nutzen, wird BOC die erforderlichen Schritte bei Bedarf durchführen.

Öffnen Sie auf dem Applikationsserver das Verzeichnis in dem sich die Protokoll-Dateien (Logs) Ihres BOC Produkts befinden. Standardmäßig ist das das Verzeichnis "<BOC Installationsverzeichnis>\logs".

Identifizieren Sie im Log-Verzeichnis die Dateien mit folgenden Namen und einem Zeitstempel, der zum Zeitpunkt Ihrer Performanceprobleme passt:

  • "<Zeitstempel>_aworker.log"
  • "<Zeitstempel>_aserver.log"

Öffnen Sie diese Log-Dateien in einem Texteditor und suchen Sie darin rund um den Zeitpunkt der Performanceprobleme nach folgenden Einträgen:

DateiLog-EintragBedeutung
...aworker.log"[WARN] Performance issue: m_pDataSource"Dieser Eintrag deutet auf langsame Antworten vom Datenbanksystem hin. Das kann an einer Überlastung des Datenbanksystems liegen oder aber an einer langsamen Netzwerkverbindung zwischen Applikationsserver und Datenbank. Prüfen Sie die Auslastung der Datenbank, sowie die Netzwerk-Geschwindigkeit.
...aserver.log"The process memory working-set value is above the warning threshold"Dieser Eintrag deutet darauf hin, dass Ihr BOC Produkt unerwartet viel Speicher benötigt. Prüfen Sie, ob auf dem Applikationsserver genügend freier Arbeitsspeicher (RAM) zur Verfügung steht und erhöhen Sie den verfügbaren RAM bei Bedarf. Falls tatsächlich genügend RAM zur Verfügung steht und trotzdem dieser Log-Eintrag enthalten ist, kontaktieren Sie den technischen Kundensupport der BOC für eine tiefere Analyse.
...aserver.log"memory is below the warning threshold"Dieser Eintrag zeigt, dass zu wenig freier Arbeitsspeicher (RAM) auf dem Applikationsserver zur Verfügung steht. Erhöhen Sie den verfügbaren RAM auf dem Server.
...aserver.log"System memory status"Hinter diesem Eintrag wird angezeigt, wieviel Arbeitsspeicher (RAM) zum Zeitpunkt des Log-Eintrags verfügbar war, und zwar sowohl insgesamt als auch frei. Der vollständige Eintrag könnte beispielsweise so aussehen: "System memory status (total / available): 16383 MB / 543 MB" - Falls nur wenig Speicher frei ("available") ist (unter 2 GB oder unter 10% des Gesamtspeichers), erhöhen Sie den verfügbaren RAM auf dem Server.
...aserver.log"phys-avail"Dieser Eintrag ist Teil einer längeren Log-Zeile, die Auskunft über die Arbeitsspeicherauslastung zum Zeitpunkt des Log-Eintrags gibt. Der vollständige Eintrag könnte beispielsweise so aussehen: "working-set: 1005MB working-set-max: 1012MB paged-current: 1281MB paged-max: 1368MB phys-avail: 2024MB virtual-avail: 123218028MB" - Falls der nach "phys-avail" angegebene Wert sehr gering ist (unter 1 GB), erwägen Sie eine Erhöhung des verfügbaren RAM auf dem Server. Falls Sie unsicher sind oder die Werte stark schwanken, kontaktieren Sie den technischen Kundensupport der BOC für eine tiefere Analyse.
Alle Log-DateienAndere Log-EinträgeAuch andere Log-Einträge rund um den Zeitpunkt der Performanceprobleme können Hinweise auf die Ursache geben. Falls nötig, übermitteln Sie die Logs (idealerweise als Support Information Package) an den technischen Kundensupport der BOC zur tieferen Analyse. Beachten Sie, dass eine umfangreiche Analyse lange Zeit in Anspruch nehmen kann.

Andere Ursachen

Falls die in diesem Artikel angeführten Lösungsansätze zu keiner Verbesserung führen, kontaktieren Sie den technischen Kundensupport der BOC.

Stellen Sie hierbei insbesondere folgende Informationen bereit:

  • Einen konkreten Anwendungsfall bei dem die Reaktionszeiten ungewöhnlich langsam sind.

  • Zeitpunkt des Auftretens: Datum und Uhrzeit zu dem der langsame Anwendungsfall ausgeführt wurde.

  • Konkrete Messwerte der Reaktionszeiten: Wie lange dauerte der langsame Anwendungsfall in Sekunden, Minuten oder Stunden?

  • Sofern Sie das BOC Produkt in Ihrer eigenen Infrastruktur (on premise) betreiben: Ein aktuelles Support Information Package (SIP).

  • Welche Lösungsansätze aus diesem Artikel haben Sie bereits durchgeführt und mit welchem Ergebnis?