Interactive Performance Assistant (IPA) in Cognos Analytics 12 – Performance-Probleme systematisch analysieren

Wer Cognos-Berichte entwickelt, kennt die Situation:

Ein Bericht benötigt plötzlich 30, 60 oder sogar mehrere Minuten für die Ausführung. Die eigentliche Herausforderung besteht dabei oft nicht darin, das Problem zu beheben, sondern zunächst herauszufinden, wo die Zeit überhaupt verloren geht.

Liegt das Problem in der Datenbank?

In einer einzelnen SQL-Abfrage?

Im Framework Manager Modell?

In komplexen Berechnungen?

Oder verursacht das Berichtslayout selbst die Verzögerung?

Mit Cognos Analytics 12 hat IBM den Interactive Performance Assistant (IPA) deutlich ausgebaut und ein Werkzeug geschaffen, das genau diese Fragen beantworten soll.

Was ist der Interactive Performance Assistant?

Der Interactive Performance Assistant ist ein Analysewerkzeug für Cognos Analytics, mit dem detaillierte Performance-Daten für Berichte und Dashboards aufgezeichnet und ausgewertet werden können.

Während klassische Performance-Analysen häufig auf Log-Dateien, Datenbank-Traces oder Vermutungen basieren, liefert IPA konkrete Messwerte für die tatsächliche Ausführung eines Berichts.

Dabei werden unter anderem folgende Informationen erfasst:

  • Query-Laufzeiten
  • Rendering-Zeiten
  • Service-Aufrufe
  • Dispatcher-Aktivitäten
  • Objektbezogene Laufzeiten
  • Zeitliche Abläufe einzelner Prozesse

Dadurch wird sichtbar, welche Komponenten tatsächlich für die Gesamtlaufzeit verantwortlich sind.

Installation und Einrichtung

Die Einrichtung von IPA erfolgt in wenigen Schritten.

1. IPA aktivieren

Unter

Verwalten ? Konfiguration ? System ? Erweiterte Einstellungen

wird folgende Einstellung angelegt:

DISP.zipi.IPAEnabled=true

Anschließend muss Cognos die erforderlichen IPA-Tabellen erzeugen können.

2. IPA-Datenbank bereitstellen

IPA speichert seine Messdaten in einer Datenbank.

Standardmäßig verwendet Cognos:

  • die Notification Database
  • alternativ den Content Store

Unterstützt werden unter anderem:

  • Microsoft SQL Server
  • Oracle
  • IBM Db2

Nach der Aktivierung werden Tabellen mit dem Präfix:

IPA_

angelegt.

3. IBM-Deployment importieren

Mit Cognos wird bereits ein Deployment ausgeliefert:

IBM_Cognos_IPPA.zip

Dieses befindet sich im Deployment-Verzeichnis der Installation und muss importiert werden.

Nach erfolgreichem Import erscheint im Team Content ein neuer Ordner:

ZIPI

Dort befinden sich die Analyseberichte, die später für die Auswertung verwendet werden.

Performance-Daten erfassen

Nach der Einrichtung kann jeder Berichtsentwickler Performance-Daten erzeugen.

Dazu wird ein Bericht im Bearbeitungsmodus geöffnet.

Über:

Ausführen ? Ausführungsoptionen anzeigen

wird die Option

Leistungsdetails einschließen

aktiviert.

Der Bericht wird anschließend normal als HTML ausgeführt.

Auf den ersten Blick sieht das Ergebnis unverändert aus.

Tatsächlich wurden jedoch umfangreiche Performance-Daten aufgezeichnet.

Die ersten Erkenntnisse

Nach der Ausführung erscheinen zusätzliche Informationen direkt im Bericht.

Neben Listen, Crosstabs oder anderen datenbasierten Objekten werden Ausführungszeiten eingeblendet.

Zusätzlich erscheint am Ende des Berichts ein Link mit der gesamten Ausführungsdauer.

Von dort gelangt man direkt in die IPA-Auswertungen.

Der wichtigste Bericht: Process Time

Der Einstiegspunkt jeder Analyse ist der Bericht “Process Time”.

Hier werden sämtliche Prozesse dargestellt, die während der Ausführung beteiligt waren.

Typische Einträge sind:

  • Query Service
  • Report Service
  • Content Manager
  • Rendering-Komponenten
  • Dispatcher-Prozesse

Dadurch lässt sich sehr schnell erkennen, welche Komponente den größten Anteil an der Gesamtlaufzeit besitzt.

Das eigentliche Highlight: Request Sequence Chart

Besonders interessant wird die Analyse im sogenannten Request Sequence Chart.

Dabei handelt es sich um eine zeitliche Darstellung aller Aktivitäten während der Berichtsausführung.

Ähnlich einem Gantt-Diagramm wird sichtbar:

  • wann Prozesse gestartet wurden
  • wann sie beendet wurden
  • welche Prozesse parallel liefen
  • welche Prozesse auf andere warten mussten

Gerade bei komplexen Berichten mit mehreren Abfragen oder Services liefert diese Ansicht oft die entscheidenden Hinweise.

Object Path Time – der Weg zum Verursacher

In vielen Fällen reicht die Analyse auf Service-Ebene nicht aus.

Dann hilft der Bericht “Object Path Time”.

Hier werden die tatsächlichen Berichtsobjekte aufgelistet.

Beispielsweise:

  • Listen
  • Crosstabs
  • Diagramme
  • Container
  • Wiederholungsobjekte

Für jedes Objekt wird die benötigte Zeit angezeigt.

Damit lässt sich häufig exakt bestimmen, welcher Berichtsbestandteil für die Verzögerung verantwortlich ist.

Ein typisches Praxisbeispiel

Ein Bericht benötigt insgesamt 45 Sekunden.

Ohne IPA könnte man vermuten:

  • Die Datenbank ist langsam.
  • Das Modell enthält zu viele Joins.
  • Die Hardware ist überlastet.

Die IPA-Analyse zeigt jedoch:

  • Query-Ausführung: 4 Sekunden
  • Datenübertragung: 1 Sekunde
  • Rendering einer Crosstab: 32 Sekunden
  • Restliche Verarbeitung: 8 Sekunden

Die Datenbank ist also gar nicht das Problem.

Der eigentliche Engpass befindet sich im Berichtslayout.

Ohne IPA wäre dieser Zusammenhang deutlich schwieriger zu erkennen.

Warum IPA aus meiner Sicht unterschätzt wird

Viele Cognos-Teams investieren erhebliche Zeit in Datenbankanalysen oder Log-Auswertungen, obwohl Cognos die relevanten Informationen bereits bereitstellt.

IPA ersetzt zwar keine tiefgehende Datenbankanalyse, beantwortet jedoch eine entscheidende Frage:

Wo geht die Zeit tatsächlich verloren?

Erst wenn diese Frage geklärt ist, lohnt sich die eigentliche Optimierung.

Fazit

Der Interactive Performance Assistant gehört aus meiner Sicht zu den interessantesten technischen Neuerungen in Cognos Analytics 12.

Die Einrichtung ist überschaubar, der Nutzen dagegen erheblich.

Wer regelmäßig langsame Berichte analysieren muss, erhält mit IPA ein Werkzeug, das den Weg vom Symptom zur eigentlichen Ursache deutlich verkürzt.

Statt Performance-Probleme zu vermuten, können sie gemessen werden.

Und genau das ist meist der erste Schritt zu einer erfolgreichen Optimierung.

Jens Bäumler (Apparo Group)

Ähnliche Themen

WP Twitter Auto Publish Powered By : XYZScripts.com