Performance Tuning mit @enterprise



Ähnliche Dokumente
Laborübung - Task-Manager (Verwalten von Prozessen) in Windows 7

Laborübung - Task Manager (Verwalten von Prozessen) in Windows Vista

PostgreSQL und memcached

Naxtron GmbH Schlosstalstrasse Winterthur. Subject. New Features Oracle 9i Tuning. Edo Bezemer. Author

Große Übung Praktische Informatik 1

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

desk.modul : WaWi- Export

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Oracle: Abstrakte Datentypen:

Java Einführung Collections

Java: Vererbung. Teil 3: super()

Wie mache ich eine Datensicherung vom SQL Server Express

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Session Management und Cookies

Laborübung - Task Manager (Verwalten von Prozessen) in Windows XP

Dynamic Ressource Management

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

FileMaker Konferenz 2011 Hamburg Speed. Performance Optimierung für Ihre Lösung / Entwickler

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

RESTful Web. Representational State Transfer

Konfiguration von Outlook 2010

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Konfiguration von Fabasoft Mindbreeze Enterprise für IBM Lotus

AK Medientechnologien 05 Delegation

Performance Tools. für alle Editionen

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning

MailUtilities: Remote Deployment - Einführung

Konfiguration des Novell GroupWise Connectors

Zur Konfiguration werden hierbei das Setup-Tool und die Shell verwendet.

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

Arc/Poly Filter. Arc/Poly Filter erzeugen 1. Arc/Poly Filter erzeugen 2. GSAK für Fortgeschrittene

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

Objektorientierte Programmierung

Betriebshandbuch. MyInTouch Import Tool

Prozessarchitektur einer Oracle-Instanz

DataTables LDAP Service usage Guide

Konfiguration des Web Connectors

Internet online Update (Mozilla Firefox)

ENTWICKLUNG PROTOTYP-CRM SYSTEM AUTOHAUS REALISIERTE USE-CASES. Mathias Slawik ECM-Anwendungen, Wirtschaftsinformatik (M), HTW Berlin

SEMINAR Modifikation für die Nutzung des Community Builders

Internet online Update (Internet Explorer)

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

Anwendungsbeispiele Buchhaltung

ModeView Bedienungsanleitung

Dokumentation CMM Modular Server

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

Universität Augsburg, Institut für Informatik Wintersemester 2011/2012 Prof. Dr. W. Kießling 03. Feb Semesterklausur

AJAX Implementierung mit Joomla!

DNS-325/-320 und FXP

Übung - Konfigurieren der Browser-Einstellungen in Windows 7

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

Graphen in Apex von Thomas Hernando.

Konfiguration und Deployment einer hochverfügbaren ADF Anwendung

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Sicherheit in Webanwendungen CrossSite, Session und SQL

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue

1. Konfiguration Outlook 2007 MAPI (mit Autodiscover).

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

EINRICHTEN EINER BMD NTCS SICHERUNG MIT SQL 2012

Exchange-Server - Outlook 2003 einrichten. 1. Konfiguration Outlook 2003 mit MAPI. Anleitung: Stand:

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1.

B4 Viper Connector Service Installationsanleitung Stand:

telpho10 Update 2.1.6

Anleitung zum erstellen von DVD/ CD zum Sichern der Volumes:

Performance by Design Wie werden performante ETL-Prozesse erstellt?

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

Paragon Online WinPE Builder Service

Konfigurationsanleitung Tobit David Fax Server mit Remote CAPI Graphical User Interface (GUI) Seite - 1 -

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Kurzanleitung So geht s

Python SVN-Revision 12

Laborübung - Verwalten von virtuellem Speicher in Windows 7

GOOGLE CHROME 40. BROWSEREINSTELLUNGEN OPTIMIEREN. BMW FINANCIAL SERVICES. Google Chrome 40 Browsereinstellungen optimieren. 1

Samsung Large Format Display

Android Remote Desktop & WEB

Anleitung zum Prüfen von WebDAV

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

Options- und Freitext-Modul Update-Anleitung

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Transkript:

@enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2

Datenbank Anzahl der Statements reduzieren Prepared Statements verwenden API: store.list(x.class,"x=? and y=?", "orderattr", new Object[]{a,b}); Index auf Attribute, auf die häufig selektiert werden BulkQuery für "in" statements Aufteilung auf die Platten mehrere kleine Platten besser als eine große Trennen von ep log, Datenbank logs, Datenbank Daten Files, Page Files Groiss Informatics GmbH, 2005 3 BulkQuery Beispiel List news = ServiceLocator.getStore().list(Note3.class, "oid in...", "avwchangedat"); for (Iterator it = news.iterator(); it.hasnext();) { DMSObject o = (DMSObject)it.next(); boolean b = store.hasrows( "select seen from avw_seenobject2 where userid=? and seen=?", new Object[]{u,o});... } 100 items, 520 Millisekunden List news = ServiceLocator.getStore().list(Note3.class, "oid in...", "avwchangedat"); BulkQuery bq = new BulkQuery(news); String query = "select seen from avw_seenobject2 where userid="+u.getoid()+ " and seen in (?)"; Map qres = bq.execute(query,1); for (Iterator it=news.iterator(); it.hasnext();) { DMSObject o = (DMSObject)it.next(); boolean b = qres.containskey(long.tostring(o.getoid()));... } 60 Millisekunden Groiss Informatics GmbH, 2005 4

Oracle Spezifika Oracle Parameter Einstellungen siehe Installationshandbuch oder Oracle Doku. Cost-based Optimizer Statistiken erzeugen: execute dbms_utility.analyze_schema('user','compute'); Histogramme bei Schiefverteilung z.b. viele fertige, wenige aktive Prozesse execute dbms_stats.gather_table_stats ('USER','avw_stepinstance', method_opt => 'for columns size 10 status'); Querydauer in einem Fall auf 1/40 reduziert Groiss Informatics GmbH, 2005 5 Oracle Spezifika Partitionierung der Tabellen z.b. StepInstance nach status create table avw_stepinstance (... ) PARTITION BY LIST (status) ( PARTITION avw_si_curr VALUES(0,1,5), PARTITION avw_si_old VALUES(2,4,7,8,9), PARTITION avw_si_paper VALUES(3,10), PARTITION avw_si_pfinp VALUES(5), PARTITION avw_si_defa VALUES(DEFAULT) ) ENABLE ROW MOVEMENT; Vergleiche mit NULL verwenden keinen Index z.b.: finished is null oci Treiber ist schneller als der thin Treiber Groiss Informatics GmbH, 2005 6

RMI wenig roundtrips eigene Services schreiben kleine Datenmengen verschicken oids statt Objekte verschicken, Felder transient machen Caches am Client aufbauen kurze Transaktionen um Resourcen freizugeben und Locks zu vermeiden am besten: ein Request = eine Transaktion finalize für Remote Objekte um bei client Absturz Resourcen freizugeben Unreferenced implementieren Groiss Informatics GmbH, 2005 7 Java StringBuffer verwenden, wenn Strings zusammengebaut werden synchronized nur wenn nötig Vector und Hashtable sind synchronized Objekt erzeugen ist teuer Threads aus Pool nehmen buffered Streams verwenden java Optionen beachten Xmx maximum memory, 64MB is default! Groiss Informatics GmbH, 2005 8

Hardwarekonfiguration - zwei schnelle Netzwerkkarten - viel Memory - ev. mehrere Application Server - schnelles Netzwerk - viel Memory - viele Platten Groiss Informatics GmbH, 2005 9 API Worklist Cache verwenden bei Abfrage auf Work-Items Forms in Worklist, über XML Konfiguration hinzufügen Thread-Cache: Objekte werden aus der Datenbank pro Transaktion nur einmal gelesen. store.get(class, oid) sieht zuerst im cache nach store.get(class, "oid="+oid) macht das select und prüft danach, ob das Objekt bereits im Cache ist File IO: Falls Files mehrmals gelesen werden, FileCache verwenden Dinge in der Session speichern nicht in Cookies Applikationsklasse mit static Variablen für Tasks, FormTypes, etc. Groiss Informatics GmbH, 2005 10

HTTP + HTML Größe der HTML Seiten Javascript und Styles auslagern Caching lastmodified Header mitschicken, und auf If-Modified-Since reagieren ev. Expires Header mitschicken, bringt beste Performance Browsereinstellungen prüfen, nicht immer alle gifs neu laden roundtrips vermeiden Groiss Informatics GmbH, 2005 11 Konfiguration Klassen neu laden ausschalten log level im Betrieb runtersetzen Beachte: Settings.log(foo(x),3) foo wird unabhängig vom log-level ausgewertet Besser: if (Settings.getLogger().getLevel() >2) Settings.log(foo(x),3) Tuning Optionen Referenzrollen ignorieren,hierarchische Rollen ignorieren, Persönliche Vertretungen ignorieren, Rollenvertretungen ignorieren haben kaum Auswirkungen, wenn Worklist cache eingeschaltet,aber auf Rechteprüfung Suchen begrenzen max.tabellengröße, gleichzeitige Suchen Groiss Informatics GmbH, 2005 12

Analyse Prüfen, ob ausreichend Resourcen vorhanden sind. Fehler log Datenbankverbindungen und Threads: hängende oder lang dauernde Aktionen Statement Statistik: häufige und lang dauernde DB-Statements finden Groiss Informatics GmbH, 2005 13 Analyse(2) Log Viewer Groiss Informatics GmbH, 2005 14

In Planung Object Cache threadübergreifend Http Verkehr zippen, reduziert Netzverkehr System Monitoring Systemzustand über JMX abfragbar Groiss Informatics GmbH, 2005 15 Groiss Informatics GmbH, 2005 16