Berechnungen zur Schätzung der Berechnungszeit simulieren

Sie können die Berechnung für ein Modell Ihres Essbase-Block Storage-Cubes simulieren, um zu schätzen, wie lange eine echte Berechnung dauern würde. Dazu führen Sie ein Berechnungsskript mit SET MSG ONLY und SET NOTICE HIGH aus, notieren sich die Abschlusszeiten und extrapolieren.

Sie können eine Berechnung mit SET MSG NUR in einem Berechnungsskript simulieren. Eine simulierte Berechnung liefert Ergebnisse, mit denen Sie die Performance einer realen Berechnung analysieren können, die auf denselben Daten und derselben Modellstruktur basiert.

Wenn Sie eine simulierte Berechnung mit einem Befehl wie SET NOTICE HIGH ausführen, können Sie die relative Zeitspanne markieren, die jede dünn besetzte Dimension benötigt. Wenn Sie dann eine reale Berechnung für eine oder mehrere Dimensionen durchführen, können Sie abschätzen, wie lange die vollständige Berechnung dauern wird, da die Zeit, die eine simulierte Berechnung für die Ausführung benötigt, proportional zur Zeit ist, die für die Ausführung der tatsächlichen Berechnung benötigt wird.

Beispiel: Wenn die Berechnung um 9:50:00 Uhr beginnt und die erste Benachrichtigung um 09:50:10 Uhr mit einem Zeitstempel versehen wird und die zweite um 09:50:20 Uhr mit einem Zeitstempel versehen ist, wissen Sie, dass jeder Teil der Berechnung 10 Sekunden dauerte. Wenn Sie dann eine echte Berechnung nur für den ersten Teil ausführen und beachten, dass die Ausführung 30 Sekunden dauerte, wissen Sie, dass der andere Teil auch 30 Sekunden dauert. Wenn es insgesamt zwei Nachrichten gäbe, würden Sie wissen, dass die reale Berechnung ungefähr 60 Sekunden dauert (20 / 10 * 30 = 60 Sekunden).

In den folgenden Themen erfahren Sie, wie Sie eine simulierte Berechnung ausführen und wie Sie eine simulierte Berechnung zur Schätzung der Berechnungszeit verwenden.

Berechnungen simulieren

Simulieren Sie die Berechnung für ein Modell des Essbase-Block Storage-Cubes, indem Sie ein Berechnungsskript mit den Befehlen SET MSG ONLY und SET NOTICE HIGH ausführen und Zeitstempel im Anwendungslog beachten.

Bevor Sie die Berechnungszeit schätzen können, müssen Sie eine simulierte Berechnung für ein Datenmodell ausführen, das auf Ihrem tatsächlichen Cube basiert. Anschließend können Sie im Anwendungslog prüfen, wie lange Berechnungen dauerten.

Informationen zum Suchen des Anwendungslogs finden Sie unter Speicherorte der Umgebung in der Essbase-Plattform.

So führen Sie simulierte Berechnungen durch:

  1. Erstellen Sie ein Datenmodell, das alle Dimensionen und Detailebenen verwendet, zu denen Sie Informationen benötigen.
  2. Laden Sie alle Daten. Diese Prozedur berechnet nur Daten, die in den Cube geladen wurden.
  3. Erstellen Sie ein Berechnungsskript mit den folgenden Einträgen:
    SET MSG ONLY;
    SET NOTICE HIGH;
    CALC ALL;

    Wenn Sie dynamische Berechnungen für dicht besetzte Dimensionen verwenden, ersetzen Sie den Befehl CALC ALL durch die spezifischen Dimensionen, die Sie berechnen müssen. Beispiel: CALC DIM EAST.

    Hinweis:

    Wenn Sie versuchen, das Skript zu validieren, meldet Essbase einen Fehler. Ignorieren Sie den Fehler.

  4. Führen Sie das Skript aus.
  5. Suchen Sie die erste Meldung für die Sparse-Berechnung im Anwendungslog, und notieren Sie sich die Zeit in der Meldung.
  6. Notieren Sie sich die Zeit für jede nachfolgende Nachricht.
  7. Berechnen Sie die dicht besetzten Dimensionen des Modells, die nicht dynamisch berechnet werden:
    CALC DIM (DENSE_DIM1, DENSE_DIM2, …);
  8. Berechnen Sie die Sparse-Dimensionen des Modells:
    CALC DIM (SPARSEDIM1, SPARSEDIM2, …);
  9. Projizieren Sie die Intervalle, in denen Benachrichtigungen erfolgen, und prüfen Sie dann die Ergebnisse der Sparse-Berechnung. Anschließend können Sie die Berechnungszeit schätzen.

Berechnungsbefehle referenzieren:

Kalkulationszeit schätzen

Zeichnen Sie die Ergebnisse der simulierten Berechnung auf, und verwenden Sie sie, um die tatsächliche Berechnungszeit für Ihren Essbase-Block Storage-Cube zu schätzen.

So schätzen Sie die gesamte Berechnungszeit ein:

  1. Beachten Sie die Zeiten aller Intervalle zwischen Anwendungslogmeldungen, die von SET NOTICE HIGH generiert werden.

    Siehe untenstehende Tabelle.

  2. Verwenden Sie die folgende Berechnung, um die Zeit für eine echte Berechnung zu schätzen:

    Erforderliche Gesamtzeit für die simulierte Berechnung geteilt durch das erste simulierte Berechnungsbenachrichtigungsintervall, multipliziert mit dem ersten Echtzeitberechnungszeitintervall.

    Tabelle 34-1: Beispielintervalle zwischen Logmeldungen

    Nummer der Berechnungsmitteilung Simuliertes Berechnungszeitintervall (in Sekunden) Berechnungsintervall für dünn besetzte Dimensionen (in Sekunden)

    1

    7

    45

    2

    5

     

    3

    6

     

    4

    3

     

    5

    4

     

    6

    2

     

    7

    6

     

    8

    4

     

    9

    3

     

    10

    3

     

    Berechnungszeit gesamt

    43

     

    In diesem Beispiel 43 / 7 * 45 = 276,4 Sekunden, so dass die reale Berechnung 276,4 Sekunden dauern sollte.

Faktoren, die sich auf die Schätzgenauigkeit auswirken

Die Genauigkeit von Schätzungen, die auf einer simulierten Berechnung eines Essbase-Block Storage-Cubes basieren, kann durch Faktoren wie Blockdichte und Modellstruktur beeinträchtigt werden.

Die simulierte Berechnung sollte eine genaue Zeit auf etwa 5% zurückgeben, wenn keine Schlüsselfaktoren vorhanden sind, die Variationen verursachen.

Wenn diese Faktoren vorhanden sind, prognostiziert diese Schätztechnik die Berechnungszeit genauer, wenn Essbase 30% bis 40% der simulierten Berechnungen erreicht (30% bis 40% der von SET NOTICE HIGH generierten Nachrichten).

Variationen aufgrund einer Beeinflussungskette

Die Verwendung von SET MSG ONLY als Berechnungszeitschätztechnik sollte anhand späterer CALCNOTICE-Intervalle validiert werden. Die Ergebnisse dieser Schätztechnik variieren aufgrund der folgenden Kette von Einflüssen:

  1. Blöcke unterscheiden sich in der Blockdichte durch den realen Konsolidierungsprozess.

  2. Die Rate, mit der Essbase Blöcke auf den Datenträger schreibt, unterscheidet sich daher

  3. Die Rate, mit der Blöcke im Cache verarbeitet werden, unterscheidet sich daher

  4. Die tatsächlichen Ergebnisse können von der vorhergesagten Berechnungszeit abweichen.

Variationen aufgrund der Gliederungsstruktur

Ein weiterer Faktor, der dazu führen kann, dass die tatsächlichen Ergebnisse erheblich von den vorhergesagten abweichen, ist die Modellstruktur. Berechnungen, die auf CALCNOTICE-Intervallen basieren, nehmen eine gleichmäßig ausgeglichene Verarbeitungszeit in der Gliederung an. Faktoren, die dieses Gleichgewicht verzerren können, sind die folgenden Situationen:

  • Das Modell enthält ein oder zwei dünn besetzte Dimensionen, die im Verhältnis zu den anderen dünn besetzten Dimensionen groß sind.

  • Größere Dimensionen haben Elementkonfigurationen, die zu mehreren gemeinsamen Rollups führen.

Gliederung basierend auf Ergebnissen ändern

Nachdem Sie eine simulierte Berechnung eines Modells des Essbase-Block Storage-Cubes geschätzt und analysiert haben, können Sie die Modellstruktur ändern, um die Performance zu verbessern.

Sortieren Sie von oben nach unten in der Gliederung dünn besetzte Dimensionen, um die wenigsten prozentualen Erhöhungen in oberen Blöcken zu erstellen:

  • Ebene 0 Blöcke nach vollständiger Modelllast: 100.000

  • Blöcke der oberen Ebene nach der Konsolidierung nur der dünn besetzten Dimension 1: 1.000.000

  • Blöcke der oberen Ebene nach der Konsolidierung nur der dünn besetzten Dimension 2: 3.000.000

  • Blöcke der oberen Ebene nach der Konsolidierung nur der dünn besetzten Dimension 3: 10.000.000

  • Blöcke der oberen Ebene nach der Konsolidierung nur der dünn besetzten Dimension 4: 300.000

  • Blöcke der oberen Ebene nach der Konsolidierung nur der dünn besetzten Dimension 5: 5.700.000

Beispiel:

  • #4 (Mitglieder = 10.000, 4 Ebenen)

  • #1 (Mitglieder = 500, 2 Ebenen)

  • #2 (Mitglieder = 100, 4 Ebenen)

  • #5 (Mitglieder = 10.000, 4 Ebenen)

  • #3 (Mitglieder = 20, flach)

Verwenden Sie die simulierte Berechnung, um die obere Blockanzahl zu generieren. Diese Zahlen können trotz der tatsächlichen Dimensionsgrößen genau sein, wie neben den obigen Elementen angegeben.

Achtung:

Die größte Anzahl von Mitgliedern ist nicht immer ein guter Prädiktor.

Sie sollten den Hybridmodus verwenden. In einem Hybridmodus-Cube können Sie die Lösungsreihenfolge einfach anpassen, anstatt die Dimensionsreihenfolge neu anzuordnen.