Überspringen zu Hauptinhalt

Xcelsius: Performance, Performance und noch mal Performance

Wer hätte gedacht, dass ein Beitrag in diesem Blog mal mit einem Tachometer beginnt. Ich erhalte jedoch in den letzten Wochen so viele Fragen zur Performance von Xcelsius, dass ich einige Fallstricke und Tipps im Überblick aufzeigen möchte. Daher macht der Tacho Sinn …

Performance ist immer ein Thema für BI-Anwendungen und es gibt viele Ansatzpunkte diese zu optimieren. Meine Grundregel: „Weniger ist mehr!“ Diese gilt für alle Phasen eines BI-Projekts: von der Aufnahme der Anforderungen, über die Modellierung von Würfeln/Cubes bis zum Dashboard-Design. Natürlich gibt es Situationen, in denen von dieser Regel abgewichen werden muss. Dennoch empfehle ich immer die Frage im Hinterkopf zu haben: „Was ist wichtig, was kann weg?“

Grundsätzlich gilt, dass die Flash-Initialisierungszeit eines Dashboards in Xcelsius selten unter 10 Sekunden gebracht werden kann. Dennoch gibt es einige Möglichkeiten die Performance von Dashboards mit Xcelsius – SAP BO Dashboards – zu erhöhen bzw. nicht negativ zu beeinflussen.

UPDATE 05.04.2012: Matt Lloyd hat einige „Best Practices for SAP BO Dashboars (Xcelsius)“ hier zusammengestellt – leider nur in englischer Sprache, aber sehr empfehlenswert!

Nutzung von Excel

  • Grundsätzlich: Komplexität des Excelmodells gering halten und Formelnutzung minimieren,
  • Auf Komponentenfunktionen zurückgreifen: z.B. „Einfügen von Daten“ bei Auswahlelementen statt Wenn(),
  • Formelbezüge über mehrere Zellen vermeiden,
  • Formeln nicht schachteln: Wenn(Wenn(Wenn())),
  • Bereich.verschieben()-Funktion statt Sverweis(), Wverweis()- und Wenn()-Funktionen verwenden,
  • Auf Array-Funktionen wie Summewenn(), Zählenwenn(), … verzichten,
  • Ungenutzte Tabellenblätter löschen, die Anzahl der Tabellenblätter hat einen erheblichen Einfluss auf die Performance!

Nutzung von Xcelsius-Komponenten

  • Grundsätzlich: Anzahl Komponenten niedrig halten,
  • Möglichkeiten der Datenselektion in den Komponenten nutzen („Einfügen von Daten“),
  • Container-Komponenten grundsätzlich(!) vermeiden, ggf. Registerkartensatz nutzen oder dynamische Sichtbarkeit der Komponenten verwenden,
  • Auf den List Builder und Geokomponenten – die Karten in Xcelsius – verzichten,
  • Funktionen der Komponenten, die nicht zum Einsatz kommen, deaktivieren (z.B. drill-down),
  • Ungenutzte Komponenten löschen,
  • Größe des Zeichenbereichs (canvas) nicht überschreiten, um Scrollbalken zu vermeiden,
  • Anpassungen der Xcelsius-Farbschemas können zu hohen Laufzeitverzögerungen führen.

Datenanbindung mit Xcelsius

  • Grundsätzlich: Aggregationen und Kalkulationen in die Query verlagern,
  • Datenvolumen in Xcelsius minimieren – nicht mehr als 500 angelieferte Zeilen pro Tabellenblatt,
  • Query schlank halten: nur verwendete Dimensionen und Kennzahlen liefern,
  • QaaWS statt Live Office nutzen, MDX-Schnittstelle meiden,
  • BICS für SAP BW-Anbindung empfehlenswert, aber:
    • Grundsätzlich: RSRT Transaktion zur Analyse langsamer BW-Queries nutzen,
    • BW-Queries parallelisieren – ab einer Anzahl von 12 scheint aber Schluss mit der parallelen Verarbeitung zu sein,
    • Möglichst wenig beschränkte Kennzahlen in BW-Query verwenden,
    • Vergleichbares gilt für berechnete Kennzahlen, ggf. die Berechnung in den ETL-Prozess verschieben,
    • Vermeiden Sie Conditions und Exceptions in den BW-Queries,
    • Query read mode = Query to be read when you navigate or expand hierarchies – besonders bei Nutzung tiefer Hierarchien,
    • Nutzen Sie den BW BEx Broadcaster um den Cache für regelmäßig genutzte BW-Queries zu aktualisieren … und natürlich Aggregate und BWA/HANA nutzen 🙂

Ich empfehle vor dem Go-live eines Dashboards dieses vorab an einen kleinen ausgewählten Benutzerkreis zu veröffentlichen und mit diesen Nutzern die Performance ausgiebig zu testen.

Wenn ich ein Performancekiller besonders hervorheben müsste, fiele meine Wahl auf die Container-Komponenten.

The best,

Unterschrift

Quellen:

Xcelsius Bootcamp: Mico Yuk – benchmarkers, Dr. Bjarne Berg – comerit

Dank auch an Christian Neuhaus, einem erfahrenen Dashboardentwickler, der seine Erfahrungen mit Xcelsius und der BICS-Schnittstelle eingebracht hat.

http://www.slideshare.net/rtangyuk/improving-xcelsius-dashboard-performance
http://wiki.sdn.sap.com/wiki/display/BOBJ/Xcelsius+Performance+Optimizing+Tips+on+Bex+Queries

_

ccbync
Dieser Beitrag bzw. Inhalt ist unter einer Creative Commons-Lizenz lizenziert.
This file is licenced under the Creative Commons-Licence.

An den Anfang scrollen