Transcript

www.ibsolution.de © IBsolution GmbH

Umgang mit Performance Anforderungen bei der Anwendungsentwicklung

02. Juni 2015

Sebastian Esch

Tilo Freund

IBsolution GmbH

IBsolution Webinar

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

IBsolution GmbH - Webinar

Willkommen zum Webinar „Umgang mit Performance Anforderungen in der Anwendungsentwicklung“

Die Unterlagen und die Aufzeichnung finden Sie nach dem Webinar unter:

http://www.slideshare.net/IBsolutionGmbHhttp://www.youtube.com/IBsolution

Weitere Webinar-Termine:

11.06.2015 // Investitionsplanung mit SAP BW-IP, AGIMENDO.edit und Design Studio

16.06.2015 // Finanzprozesse mit SAP NetWeaver BPM

18.06.2015 // Xiting Authorizations Management Suite

23.06.2015 // Ein stabiles Fundament für Ihre Kostenrechnung schaffen durch zeitgemäße Stammdatenpflege

Infos und Anmeldung sowie aktuelle Termine auf www.ibsolution.de/veranstaltungen

Webinar - Performanceanforderungen bei der Anwendungsentwicklung2 02.06.2015

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Chat Funktion für Fragen / Einstellungen

Teilnehmer sind während der Präsentation stumm geschaltet

Bitte nutzen Sie für Fragen die Chat-Funktion

Zum Ende des Webinars wird gesammelt auf die Fragen eingegangen

Webinar - Performanceanforderungen bei der Anwendungsentwicklung3 02.06.2015

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Ihre Moderatoren

Sebastian Esch

Webinar - Performanceanforderungen bei der Anwendungsentwicklung4 02.06.2015

Tilo Freund Jana Murrweiss

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Unsere Beratungsschwerpunkte

Webinar - Performanceanforderungen bei der Anwendungsentwicklung

BusinessIntelligence

Prozess-optimierung

TechnologieBeratung

5 02.06.2015

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Unsere Standorte

Nordrhein-Westfalen

Neuss

Baden-Württemberg

HeilbronnBayern

München

Schweiz

Zürich Bulgarien

Sofia

Webinar - Performanceanforderungen bei der Anwendungsentwicklung6 02.06.2015

www.ibsolution.de © IBsolution GmbH

1. Was ist Performance?

2. Warum ist Performance so oft ein Problem?

3. Wie kann man Performance messen?

4. Was sind typische Ursachen für Performance Probleme?

5. Wie kann man Performance Probleme vermeiden?

6. Fragen und Feedback

AGENDA

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Was ist Performance?

Nicht funktionale Anforderung

Skalierbarkeit der Anwendung

Meist Antwortzeiten, die der Benutzer wahrnimmt:„Die Suche soll nicht länger dauern als …“

Im Wesentlichen drei verschiedene Messgrößen:

Durchsatz bezogen (z.B. Transaktionsrate)

Auslastungsbezogen (z.B. CPU-Auslastung)

Zeitbezogen (z.B. Antwortzeit)

Webinar - Performanceanforderungen bei der Anwendungsentwicklung8 02.06.2015

Getting nowhere fast by Nathan E Photography is licensed under CC BY 2.0

www.ibsolution.de © IBsolution GmbH

1. Was ist Performance?

2. Warum ist Performance so oft ein Problem?

3. Wie kann man Performance messen?

4. Was sind typische Ursachen für Performance Probleme?

5. Wie kann man Performance Probleme vermeiden?

6. Fragen und Feedback

AGENDA

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Warum ist Performance so oft ein Problem?

Als nichtfunktionale Anforderung meist nicht im Fokus in bei der Entwicklung / Nachgelagertes Thema

Oft schwammig definiert

Vorhersage der Performance während der Entwicklung schwierig

Unterschiede Entwicklungs- / Produktivsystem

• Hardwareausstattung

• Produktivdaten vs. Testdaten

Hoher Aufwand für Durchführung von Performance-Tests

Änderungen am Anforderungsprofil (Benutzer / Datenmenge)

Mobile Anwendungen: Immer noch unterschiedliche Netzabdeckung / Bandbreitenverfügbarkeit

Webinar - Performanceanforderungen bei der Anwendungsentwicklung10 02.06.2015

Glaskugel by Christian Schnettelker is licensed under CC BY 2.0

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Beispiel: Stammdatenanwendung

02.06.201511 Webinar - Performanceanforderungen bei der Anwendungsentwicklung

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Wachsende Nutzungsprofil

Phasenweise Ausweitung der Nutzung setzt kontinuierliche Überprüfung der Performance voraus

Änderungen am Datenbestand (Menge und Zusammensetzung) können Auswirkungen haben

02.06.201512 Webinar - Performanceanforderungen bei der Anwendungsentwicklung

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Globale Nutzung

Peaks sind nicht unbedingt dort, wo man sie vermutet

02.06.201513 Webinar - Performanceanforderungen bei der Anwendungsentwicklung

www.ibsolution.de © IBsolution GmbH

1. Was ist Performance?

2. Warum ist Performance so oft ein Problem?

3. Wie kann man Performance messen?

4. Was sind typische Ursachen für Performance Probleme?

5. Fragen und Feedback

AGENDA

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Wie kann man Performance messen?

Abhängigkeit von der Systemarchitektur

End-to-End Messung vs. Messung von spezifischen Komponenten

Java Profiler z.B. von SAP für SAP JVM (ABAP Runtime Traces SE30)

Laufzeitanalyse / Speicheranalysen

Eclipse MAT (Heap Dump Analyse)

Datenbanklevel – Statement Analyzer (ABAP: Explain Plan ST04/ST05)

Im Java Umfeld mit den Datenbank-eigenen Werkzeugen

JDBC Proxy Treiber / DB-eigens Logging

Monitoring Werkzeuge (z.B. SAP Solution Manager, SAP MMC)

Defintion der Metriken

Web-basierte Anwendungen: Entwicklermodus im Browser

Netzwerk

JavaScript

Performancemessung während der Entwicklung / Problemanalyse

Webinar - Performanceanforderungen bei der Anwendungsentwicklung15 02.06.2015

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Wie kann man Performance messen?

Definition von konkreten Szenarien

Anzahl Nutzer und Aktivitäten

Reales Lastszenario vs. Maximal Szenario

Definition der Messgrößen (z.B. Antwortzeit, CPU- und Speicherauslastung)

Implementierung von Testfällen für das ausgewählte Werkzeug

Open Source: z.B. Apache JMeter

Kommerziell: z.B. HP LoadRunner

Monitoring der relevanten Messgrößen während des Lasttests

Auswertung und Analyse

Die Ergebnisse erfordern dann oftmals detaillierte Analysen um die Ursache zu finden

Performancemessung während Performance- / Loadtesting

Webinar - Performanceanforderungen bei der Anwendungsentwicklung16 02.06.2015

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Beispiel: Stammdatenanwendung

02.06.201517 Webinar - Performanceanforderungen bei der Anwendungsentwicklung

www.ibsolution.de © IBsolution GmbH

1. Was ist Performance?

2. Warum ist Performance so oft ein Problem?

3. Wie kann man Performance messen?

4. Was sind typische Ursachen für Performance Probleme?

5. Wie kann man Performance Probleme vermeiden?

6. Fragen und Feedback

AGENDA

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Was sind typische Ursachen?

Komplexe (komplizierte) Algrorithmen vs. einfach Algorithmen mit hoher Komplexität

Komplexitätstheorie – Geschachtelte Schleifen

„Programmierfehler“

Fehlende Einschränkungen beim Datenladen

Paging bei großen Datenmengen

Erzeugen großer Objekte

Datenbankzugriffe

Indizes richtig nutzen, Statements optimieren, veraltete Statistiken, 1+N Select Thematik

Nur die Daten laden, die in der Applikation gebraucht werden

Im SAP HANA Umfeld „Code pushdown“ oder „Code to data“

JavaScript – „Falscher Browser“

Wachsende Benutzerzahlen / Datensätze

Sizing der Infrastruktur

Netzwerk

19 Webinar - Performanceanforderungen bei der Anwendungsentwicklung02.06.2015

www.ibsolution.de © IBsolution GmbH

1. Was ist Performance?

2. Warum ist Performance so oft ein Problem?

3. Wie kann man Performance messen?

4. Was sind typische Ursachen für Performance Probleme?

5. Wie kann man Performance Probleme vermeiden?

6. Fragen und Feedback

AGENDA

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Wie kann man Performance Probleme vermeiden?

Strategie für den Umgang mit Performancethemen definierenund in den Projektplan integrieren

Gesunder Menschenverstand – „Think!“

Bewusstsein und Wissen im Entwicklungsteam

Coding Guidelines sollten Performance Themen berücksichtigen

Code Reviews mit Fokus Performance (Algorithmen, Datenbankzugriffe)

Performance Tests während der Entwicklung

Systemaufbau und Ausstattung sollte möglichst nah am Produktivsystem sein

Testdatenbestand sollte Produktionsdatenbestand abbilden

Automatisierung von Performance Tests und Auswertung der Metriken

02.06.2015 Webinar - Performanceanforderungen bei der Anwendungsentwicklung21

www.ibsolution.de © IBsolution GmbH

1. Was ist Performance?

2. Warum ist Performance so oft ein Problem?

3. Wie kann man Performance messen?

4. Was sind typische Ursachen für Performance Probleme?

5. Wie kann man Performance Probleme vermeiden?

6. Fragen und Feedback

AGENDA

www.ibsolution.de © IBsolution GmbH

Ihr vertrauensvoller Partner.

Haben Sie Fragen?

Fragen und Feedback

Webinar - Performanceanforderungen bei der Anwendungsentwicklung23 02.06.2015

www.ibsolution.de © IBsolution GmbH

IBsolution GmbH

Landshuter Allee 8D-80637 München

www.ibsolution.de

SEBASTIAN ESCH


Recommended