View
66
Download
4
Category
Preview:
Citation preview
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
Recommended