Performance Verbesserung BIRT-BERICHTE

Ähnliche Dokumente
JasperReports vs. BIRT

Erstellung von Word und Excel Berichten mit Eclipse BIRT

Zabbix 2.4. What's new? What's new in Zabbix of

Projekt Weblog :: Integration

Spezifikationen und Voraussetzung

MGE Datenanbindung in GeoMedia

High Performance BIRT Reports

Gut zu wissen... Lorenz Keller Server Technologies Competence Center Nord

XML in der Oracle Datenbank "relational and beyond"

Java und XML 2. Java und XML

Spezifikationen und Voraussetzung

Leistungsfähiges Reporting mit dem Oracle BI Publisher

JDO Java Data Objects

Auszug aus JAX-WS Folien

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG

Modulare Berichtsentwicklung im Browser - Oracle BI Publisher 11g. BI Publisher 11g - Überblick Modulare Berichtsentwicklung

Data2Office: Eine neue Methode der SAS-Datenpräsentation in MS-Excel

die wichtigsten Caches (SGA) sind on-the-fly änderbar.

Performance Tuning

EXT: kool_leute. Extension Key: kool_leute Copyright , Renzo Lauper,

Views in SQL. 2 Anlegen und Verwenden von Views 2

Dynamische Websites mit XML und PHP4

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Antwortzeitverhalten von Online Storage Services im Vergleich

Willkommen. Benutzerhandbuch für die OECD Online-Bibliothek

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics )

Laborübung - Verwalten von virtuellem Speicher in Windows 7

Tuning des Weblogic /Oracle Fusion Middleware 11g. Jan-Peter Timmermann Principal Consultant PITSS

SemTalk Services. SemTalk UserMeeting

MODERNES LOGGING DATENSAMMELN OHNE REUE. Bert Radke Marco Grunert T-Systems Multimedia Solutions GmbH

BIRT Best Practices. Java, XML und Open Source seit ) Software Factory ) Christian Brell. Schlüsselfertige Realisierung von Java Software

TIPPS & TRICKS SAP CM Teil 3

NCDiff Testmanagement leicht gemacht

Django The Web framework for perfectionists with deadlines.

5. Programmierschnittstellen für XML

Konfigurieren statt Programmieren: Data Driven Java Development

5. Programmierschnittstellen für XML

Reporting mit Eclipse BIRT

CLR CIL MCS ECMA-335. Linux.Ne t Albrecht Liebscher, Erlanger Linux Tage

EPOKO.net. Frank Schwichtenberg. SourceTalk 2009 Göttingen,

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

Oracle Business Intelligence (OBIEE) 12c Ein erster Einblick in die neue Reporting-Engine von Oracle

A) Durchsuchen von Datenbanken im Internet durch Endnote

Dokumentenorientierte Datenbanken - MongoDB

Ant in Eclipse Starthilfe

NovaBACKUP DataCenter 5.0. Screenshots

Introducing Katun Dealer Fleet Management Version 3.0!

IBM Informix Tuning und Monitoring

Archiving LEXUS 3 multimedia lexica

Software Engineering Klassendiagramme Assoziationen

PicApport-Server Guide (Deutsch)

Integrated Search Einbindung von SharePoint Search in Office Apps Melanie Culver & Michael Appinger

Programmieren in Java

ALL NEW GROUNDWORK 7.0.2

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

MySQL Replikation. Erkan Yanar linsenraum.de linsenraum.de

Tipps & Tricks. Neues, Nützliches und Praktisches. Christian Dahmen con terra GmbH

Objektorientierte Datenbanken

IT in der Arztpraxis Technisches Handbuch zum Kodierassistenten

Angewandte Softwareentwicklung Serialisierung

Sortieren. Eine Testmenge erstellen

Cross-Platform Mobile Apps

PhysNet and its Mirrors

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Softwarepraktikum - Verteidigung Entwurf LDAP-Interfaces für majordomo und Web

ORACLE Business Components for Java (BC4J) Marco Grawunder

Java Connectivity mit Caché extreme (Persist & Perform ohne Umwege) Gerd Nachtsheim, Senior Sales Engineer, InterSystems

ERANGER Release Announcement

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: Weitere Informationen oder Bestellungen unter

Oracle Automatic Storage Management (ASM) Best Practices

Nutch als Webapplikation Installation der Default Suchmaschine

Nashville (V7) Peter Waschk. März Director Technology SAS Institute


Und was wird aus meinem Berichtswesen? <Speaker> Oracle Deutschland B.V. & Co. KG

Open Archives Initiative - Protocol for Metadata Harvesting (OAI-PMH)

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

XML. App. Crossmedia Strategien mit InDesign CSS HTML. E-Books. InDesign. Daten Web. Konvention DPS. Formate

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Hibernate Das Praxisbuch für Entwickler

12 Datenbank-Einsatz VarioData

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem

Schulungsunterlagen: ARCWAY Cockpit Report Engine. Erstellen und Anpassen von Berichtsvorlagen für ARCWAY Cockpit

Open Spending Visualisierung kommunaler Ausgabenprofile

Besser PHP Programmieren mit Design Pattern. Model-View-Controller (MVC) Robert Westenkirchner. C O N T R O L L E R 1.

Transkript:

ClassiX Software GmbH Performance Verbesserung der BIRT-BERICHTE Tipps zur Performance Verbesserung der Berichte unabhängig von der Engine Jana Fischereit 21.01.2013

1 Inhalt 2 Allgemeine Aussagen... 2 3 Performance Verbesserung von BIRT-Berichten... 2 4 Übergreifende Verbesserungstipps... 3 5 Performance Messen... 3 6 Bindings... 3 7 Aggregation... 4 8 Filtern und Sortieren... 4 8.1 Filtern... 4 8.2 Sortierung... 4 9 Verbesserungsmöglichkeiten beim Output... 4 10 Literaturverzeichnis... 4 1

2 Allgemeine Aussagen Generell liegt das Performance-Problem meistens nicht an den BIRT-Berichten selbst, sondern an den Zugriffen auf die Data-Source. Folgende Aussagen gibt es zu xml-data-source: Die in BIRT bereits vorhandene XML Schnittstelle ist sehr langsam, die Schnelligkeit kann aber durch einen Adapter, der selbst geschrieben werden muss verbessert werden. Java API für XML Binding (JAXB) ist eine spezialisierte API für Java, die genutzt werden kann um effizient und schnell ein festes Schema XML Daten-File zu parsen Vorteil: Ungefähr 10 mal so schnell wie die ODA XML Schnittstelle, die BIRT mitliefert Nachteil: Allerdings muss falls sich das XML Schema ändert, die JAXB Klassen neu gebildet werden. Nachteil: es gibt keine UI um Data Sets zu erstellen, stattdessen müssen JAXB-Klassen innerhalb einer scripted data Source verwendet werden Alle obigen Aussagen gelten auch für die WEB Service ODA Allgemein wird empfohlen nicht den Umweg über XML zu gehen, sondern direkt von BIRT auf ClassiX-Daten zuzugreifen. Allerdings bezieht sich diese Aussage auf die automatisch vorhandene XML Schnittstelle. 3 Performance Verbesserung von BIRT-Berichten Report Name Size (MB) Average (in miliseconds) Single Table 4.30 1,954.40 Diff Compare Report Single Table Formatted 4.30 1,931.80-1.16% Single Table Single Table Double Pages 4.35 1,996.00 2.13% Single Table Group By City (4 instances) 4.51 2,201.20 10.28% Single Table Double Pages Group By Customer (400 instances) 4.69 2,353.20 17.90% Single Table Double Pages Group By Customer Sorted 4.69 2,207.60 10.60% Single Table Double Pages Group By City Aggregates (2 per group) Group By Customer Aggregates (2 per group) 4.71 2,377.60 8.01% Group By City 4.89 2,542.60 8.05% Group By Customer Group By City Two Pass 4.81 2,366.40 7.50% Group By City Group By Customer Two Pass 5.00 2,397.60 1.89% Group By Customer Single Chart 5.92 2,607.40 33.41% Single Table Group By City Chart 6.25 2,888.80 31.24% Group By City Group By Customer Chart 21.6 5,704.80 142.43% Group By Customer 2

Nach dieser Tabelle folgt: Die Geschwindigkeit bei der Erstellung eines Berichts hängt ab von: Anzahl von Berichtsobjekten Das Vorhandensein von Aggregations (Summierungen) Anzahl der Gruppen Sortierung der Daten Das Vorhandensein von Charts Zeit pro Seite hängt vom Output-Format ab Seiten pro Sekunde hängt vom Layout ab Eine Verminderung der Page-Break-Anzahl verdoppelt die Performance (Master- Page Properties Bericht) 4 Übergreifende Verbesserungstipps Reduzierung der Anzahl von Berichtsobjekten Unnötige Grid und Table Elemente sollten entfernt werden Grid z.b. in ein Databinding mit + umwandeln Werte Zusammenfassen, wenn es Sinn macht: o Vorname + Nachname Vermeidung von Data-Bindings, wenn diese nicht genutzt werden Crosstab sind gut in ihrer Performance und sollten wenn möglich genutzt werden. 5 Performance Messen Nach Le Birt Experts Guide Kapitel 18.3, aber abgewandelt: <method name="initialize"><![cdata[//importpackage(java.io); var seconds = new Date().getTime() / 1000; reportcontext.setglobalvariable("startseconds",seconds); logtodebugwindow("starting initialize Method at: " + seconds]]></method> <method name="afterfactory"><![cdata var seconds = new Date().getTime() / 1000; logtodebugwindow("ending afterfactory Method at: " + seconds); var totaltime = seconds - startseconds logtodebugwindow("total time to run: " + totaltime);]]></method> 6 Bindings Seit der Version 2.1.3 gibt es Änderungen im Zusammenhang mit dem Data Set caching. Jedes Reportobjekt mit einem speziellen Data-Binding zwingt das Data Set sich neuauszuführen für jedes Binding. Bindings haben dann eine Auswirkung auf alle beinhalteten Reportobjekte (Data Bindings auf einer Tabelle haben Auswirkungen auf Objekte innerhalb einer Tabelle) Normalerweise reicht es aus nur ein Binding für ein Data Set zu spezifizieren Nur extrem komplizierte Berichte mit einem verwebten Data Set benötigten mehrere Bindings pro Data Set. In diesem Fall sollten besser Joint Data Sets verwendet werden um mehrere Bindings auf einem einzigen Data Set zu verhindern Es sollten keine Data Sets auf der Master Page gebunden werden. 3

7 Aggregation Es gibt zwei Arten von Funktionen: - Running: wird gemacht während die Tabelle erstellt wird - Look-Ahead: Benötigt zweifaches durchlaufen über die Daten o Es sollte seit der Version BIRT 2.2.2 nicht die Total Funktion verwendet werden. Es o ist bekannt, dass diese Funktion schlechte Performance besonders mit Filtern hat. Tipps zur Performance-Verbesserung hier: Erstellung einer gespeicherten Prozedur zur Berechnung Benutzung einer seperaten Query Benutzung eines Datenfilters um Gesamtsummen in jede Spalte zu erhalten 8 Filtern und Sortieren Das Filtern und Sortieren sollte von DataSource Seite geschehen, da dieser Vorgang im Memory durchgeführt wird und somit sehr lange dauert. 8.1 Filtern - BIRT ermöglicht Filtern auf verschiedenen Ebenen, wie beispielsweise in einer Tabelle - Man sollte wenn möglich das Filtern der Datenbank überlassen - Darüber hinaus sollte die Größe des Result Sets reduziert werden - Besonders wichtig ist dies im Zusammenhang mit Look-Ahead-Aggregation (siehe Punkt 7) 8.2 Sortierung - Sobald eine Gruppierung hinzugefügt wird, sortiert BIRT automatisch das Data Set im Memory - Es gibt keine Möglichkeit BIRT mitzuteilen, dass die Daten bereits sortiert sind. 9 Verbesserungsmöglichkeiten beim Output PDF Es sollte eine angemessene Seitengröße in der Master Page festgelegt werden Setzen eines Fixed Layouts. Dadurch kann die dynamische Geometrie signifikant reduziert werden. HTML Es sollten Gruppierungsabschnitte mit vielen Einträgen vermieden werden, da dies in eine Lange Table-Of-Contents Liste resultiert. 10 Literaturverzeichnis Birt Exchange. (2008). Birt Exchange. Von http://www.birtexchange.org/org/devshare/designing-birt-reports/371-designing-high-performancebirt-reports/ abgerufen Mehi, D. (2010). Le BIRT Expert's Guide to BIRT Best Practice. Detroit, MI, USA. 4