Show TOC Anfang des Inhaltsbereichs

Komponentendokumentation BI Query-Laufzeit-Statistik  Dokument im Navigationsbaum lokalisieren

Einsatzmöglichkeiten

Mit der BI Query-Laufzeit-Statistik können Sie erfassen, wie viel Zeit die Ausführung bestimmter Benutzeraktionen am Frontend und in der Analytic Engine benötigt. Das System erfasst die performance-kritischen Teile der Verarbeitung (sog. Statistik-Events). Es berechnet die Netto-Zeiten, indem es die Laufzeit eines Events aus der Differenz von Start- und End-Zeitpunkt errechnet (ggf. abzüglich der Zeiten für innerhalb des Events aufgerufene andere Events).

Die BI Query-Laufzeit-Statistik umfasst folgende Bereiche, die sich hinsichtlich der Event-Verarbeitung deutlich unterscheiden:

Frontend und Calculation Layer der Analytic Engine

Beschreibung

Beispiele

Dieser Bereich umfasst das Frontend sowie OLAP einschließlich BI Integrierte Planung (Frontend/Calculation Layer).

Hier gibt es eine große Zahl verschiedener Events, die seriell verarbeitet werden.

Frontend: Darstellung von Web Items, Aufbau einer Gesamtseite, Data Provider und Data Area Provider Kommandoverarbeitung

OLAP: Generierung von Queries, Erzeugen von Cache-Einträgen, Mengenumrechnung

BI Integrierte Planung: Schreiben von Deltasätzen, Speichern von Daten, Ausführen einer Planungsfunktion 

Aggregation Layer der Analytic Engine

Beschreibung

Beispiele

Dieser Bereich umfasst den Data Manager (Aggregation Layer).

Hier gibt es eine geringe Zahl verschiedener Events, die stark parallel verarbeitet werden.

MultiProvider, Aggregate-Split, Datenbank-Zugriffszeiten (insbesondere E-/F-Tabellen-Zugriff), RFC-Zeiten

Die Statistik-Daten werden in verschiedenen Tabellen gesammelt.

Um die Statistik-Daten zu analysieren, haben Sie verschiedene Möglichkeiten.

Hinweis

Weitere Informationen finden Sie unter Analyse der Statistik-Daten.

Einführungshinweise

In der Pflege der Statistik-Eigenschaften können Sie für einzelne Objekte, für die Statistik-Daten aufgezeichnet werden sollen (Query, Web Template, Arbeitsmappe), festlegen, ob und in welcher Granularität Sie Statistik-Daten aufzeichnen möchten. Außerdem können Sie die Statistik auch für sämtliche Queries eines InfoProviders an- bzw. ausstellen (siehe Pflege der Statistik-Eigenschaften).

Integration

Einige BI-Accelerator-Tests in der Analyse- und Reparatur-Umgebung arbeiten mit Statistik-Daten (siehe Überprüfen eines SAP NetWeaver BI Accelerator Index (Transaktion RSRV), Tests: Delta-Index für Indizes vorschlagen, Größe Faktentabellen mit Faktenindex vergleichen). Voraussetzung dafür ist, dass die Statistik für die entsprechenden InfoProvider angeschaltet ist.

Funktionsumfang

Die folgende Grafik gibt einen Überblick über den Ablauf einer Laufzeit-Messung mit der BI Query-Laufzeit-Statistik:

Diese Grafik wird im zugehörigen Text erklärt

Die Laufzeit-Messung beginnt mit der ersten Benutzeraktion (z.B. dem initialen Ausführen eines Web Templates) und endet mit dem Beenden der Sitzung durch den Benutzer (LogOut). Alle Zeiten zu dieser Sitzung werden unter der gleichen SESSIONUID abgespeichert.

Dazwischen können zahlreiche Benutzeraktionen liegen (z.B. Navigationsschritte, Auffrischen des Web Templates, Planung). Jede Benutzeraktion wird als ein Schritt definiert und erzeugt dann eine neue STEPUID, wenn sie Statistik-relevante Events enthält. Die Zeiten der Events werden unter dieser UID zusammengefasst.

Events innerhalb eines Schrittes werden dem jeweiligen Kontext zugeordnet (z.B. Frontend, OLAP, Planung). Der Kontext wird durch den Handle-Typ beschrieben. Wenn Events in demselben Kontext, also mit demselben Handle-Typ, in einem Schritt zu verschiedenen Objekten ausgeführt werden, unterscheidet das System diese durch unterschiedliche Handle-IDs.

Beispiel

Beispiel 1: Ein Web Template wird ausgeführt, dass zwei Queries enthält. Dies ist ein Schritt. Beide Queries durchlaufen im OLAP-Prozessor z.B. das Event Lesen der Stammdaten, das zum Handle-Typ OLAP gehört. Eine Unterscheidung findet durch die Handle-ID statt: Die erste Query erhält die ID „1“, die zweite Query die „2“.

Beispiel 2: Ein Web Template wird ausgeführt. Dabei werden verschiedene Web Items zur Darstellung gebracht. Diese Zeit wird unter dem Event Web Reporting Item Rendering erfasst, das zu dem Handle Typ W3_I gehört. Jedes einzelne Web Item wird unter einer neuen Handle-ID erfasst.

Ein Handle besteht aus dem Tuple aus Handle-Typ und Handle-ID. Zu einem Handle gehört genau ein Objekt, für das Events erfasst werden. Der Objekttyp hängt unmittelbar am Handle-Typ.

Beispiel

Das Objekt zum Handle-Typ OLAP ist eine Query, das Objekt zum Handle-Typ W3_I ist ein Web Item, das Objekt zum Handle-Typ W3_T ist ein Web Template.

Der Name des Objekts wird ebenfalls gespeichert.

Wenn ein Event in demselben Kontext (d.h. gleiche Session, gleicher Schritt, gleiches Handle) mehrfach ausgeführt wird, kumuliert das System die Zeiten dafür. Es berechnet für jedes Event die Netto-Zeiten, indem es ggf. die Zeiten für innerhalb des Events aufgerufene andere Events von der Laufzeit abzieht.

Beispiel

Im Event OLAP: Daten lesen (Event 3100) wird eine Datenanfrage an den Data Manager geschickt; das System erfasst also Event 9000. Zu Event 3100 zählt das System jedoch nur die Zeit vor und nach dem Aufruf des Data Managers.

Im Bereich des Frontends und Calculation Layers der Analytic Engine (FE/Calculation Layer) können daher die akkumulierten Zeiten über alle Events eines Schritts hinweg kleiner oder gleich der Gesamtlaufzeit des Schrittes sein.

Im Bereich des Aggregation Layer der Analytic Engine gilt dies nicht, da hier mehrere Prozesse und damit auch Events parallel ausgeführt werden.

Wenn im Rahmen einer Query-Ausführung aus dem OLAP-Bereich eine Anfrage an den Data Manager gestellt wird, erfasst das System das Event Data Manager (Event 9000) zum Handle-Typ OLAP. Die genauen Zeiten und Daten erfasst es dann getrennt in der Data-Manager-Statistik. Dann werden die Frontend/Calculation-Layer- und Aggregation-Layer-Daten durch den Schlüssel aus STEPUID und Handle (Handle-Typ, Handle-ID) verknüpft.

Events & Handles

Die Events und ihre Kurzbeschreibung finden Sie in der Tabelle RSDDSTATEVENTS.

Hinweis

Neue Events können über die Tabellenpflege (Transaktionscode SM30) angelegt werden.

Statistik-Events kommen in folgenden Ausprägungen vor: als reine Zähler-Events und als Zeit-Events.

      Für reine Zähler-Events ist das Kennzeichen in der Spalte Nur Zählen gesetzt. Das System erfasst keine Zeit, sondern kumuliert einen Integer-Wert für dieses Event.

Beispiel

Event 2525 zählt die Lese-Zugriffe zum OLAP-Cache. Somit sieht man auch an dieser Zahl, bzw. daran, dass dieses Event nicht vorhanden ist, ob eine Query den OLAP-Cache nutzt.

      Wenn das Event kein reines Zähler-Event ist, erfasst das System stets eine Zeit. Außerdem kann es auch noch einen Zähler mitschreiben. Was der Zähler im Einzelfall aussagt, ergibt sich aus der Beschreibung des Events.

Die Spalte Start-Ende hat nur eine technische Bedeutung in der Art der Erfassung der Daten.

Die Handle-Typen und ihre Kurzbeschreibung finden Sie in der Tabelle RSDDSTATHANDLTP.

Hinweis

Neue Handle-Typen können über die Tabellenpflege (Transaktionscode SM30) angelegt werden.

 

Ende des Inhaltsbereichs