"15 Jahre APM - Wieso haben heutige Projekte immer noch Performance Probleme?" Dienstag, 13. Mai 2014-16:45 bis 17:45 Goldsaal B JAX 2014 Stefan Siegl Stefan.siegl@novatec-gmbh.de NovaTec Consulting GmbH Leinfelden-Echterdingen, München, Frankfurt am Main, Berlin, Jeddah / Saudi-Arabien
Zu meiner Person Consultant bei der NovaTec Consulting ~10 Jahre Erfahrung als Performance Engineer Verantwortlich für das APM Portfolio der NovaTec Projektleitung für die kostenlosen Performancewerkzeuge inspectit und loadit NovaTec 13.05.2014 2
Inhalte des heutigen Vortrags Kann man diese Ursachen mit heutigen APM Werkzeugen finden? Grund Ursache Performance Problem Auswirkung Fehler Erkennung Top 8 Ursachen nach NovaTec Top Ursachen der letzten 10 Jahre Zusammenhang mit geschäftskritischen Kenngrößen Verhalten der Endbenutzer NovaTec 13.05.2014 3
Auswirkung schlechter Performance Grund Ursache Problem Auswirkung NovaTec 13.05.2014 4
Auswirkung von Performance wird unterschätzt Jede 100ms Latenzverbesserung erhöht den Umsatz um 1% (2008) 2008: 19,17 Mrd 191,7 Mio 2013: 74,51 Mrd 37-49% der Benutzer die Performance Probleme erfahren verlassen die Seite oder wechseln zum Wettbewerb (2010) Site Impressions steigen um 9% für jede 400ms Verbesserung der Seitenladezeit (2009) 32% aller Benutzer verlassen eine Seite mit Ladezeiten über 1-5 Sekunden (2010) 1 (2) Sekunden Verzögerung reduziert den Umsatz um 3 (5) % (2010) Ein Benutzer nimmt die Ladezeit um 15% langsamer als in Realität wahr. In der Erinnerung sind es sogar 35%. (2010) NovaTec 13.05.2014 5
Ursachen für Performance Probleme Grund Ursache Problem Auswirkung NovaTec 13.05.2014 6
NovaTec Top 8 Performance Probleme 2013 Datenbank Remoting Frameworks Memory / GC Konfiguration Web 2.0 Caching Logging Liste basiert auf Erfahrungen der Performance Engineers der NovaTec Consulting. NovaTec 13.05.2014 7
Performance Probleme im Wandel der Zeit NovaTec Analyse der publizierten Performance Probleme über die Jahre NovaTec 13.05.2014 8
Wie entstehen Performance Probleme? Fehler Nicht gefunden Kritischen Pfad Problem NovaTec 13.05.2014 10
Wie kommt es zu performance relevanten Fehlern? NovaTec 13.05.2014 11
Fehler passieren Der einzige Mensch der niemals einen Fehler macht ist der Mensch der niemals etwas macht Theodore Roosevelt NovaTec 13.05.2014 12
Gründe Architektur / Technologie Komplexität & Abstraktion Unpassendes Design / Technologie Skalierbarkeit nicht beachtet Neue Technologien erfordern neue Denkmuster 3rd Party Komponente mit Performanceproblemen NovaTec 13.05.2014 13
Gründe Kenntnisse / Erfahrung Fehlendes technisches Verständnis Falsche Verwendung von Frameworks Geringe Erfahrung Geringe Kenntnis von Performance Werkzeuge Plattform / Hardware Nicht bekannte Konfigurationseinstellungen Fehlende oder falsche Kapazitätsabschätzungen Dimensionierung nicht ausreichend NovaTec 13.05.2014 14
Performance ist oftmals kein direktes Ziel Ich kenne keine Definition of Done bei der Performance ein Ziel ist NovaTec 13.05.2014 15
Gründe Organisatorisch ( Performance ist nicht so wichtig Keine Performance Ziele werden definiert Performance ist häufig kein Abnahmekriterium Keine Performance Prozesse Features vor Performance Anwender Verhalten Falsche Vorhersagen Schneller Erfolg (Spikes) Kommunikation Schnittstelle Entwicklung Betrieb (Netzwerk, Datenbank, ) / Silos NovaTec 13.05.2014 16
Wieso werden Performance Fehler nicht gefunden? NovaTec 13.05.2014 17
Fehler entstehen, also müssen wir sie suchen Der Schlimmste aller Fehler ist, sich keines solchen bewusst zu sein Thomas Carlyle NovaTec 13.05.2014 18
Wer macht denn eigentlich welche Form eines Performance Tests? NovaTec 13.05.2014 19
Gründe wieso nicht (genug) getestet wird Organisatorisch Auswirkung von Performance wird unterschätzt Kostenfaktor Fehlendes Management von Performance Fehlende Plannung von Performance Aktivitäten Keine Performance Prozess im Entwicklungsprozess integriert Keine geplanten Tests (zu spät oder gar nicht, Alibi) Keine regelmässige Wiederholung Keine Entwicklertests Prinzip Hoffnung Bei vorherigen Projekten hat es auch geklappt Risikomanagement (Kümmern sobald es passiert) Scheuklappendenken ( not my code ) NovaTec 13.05.2014 20
Gründe wieso nicht (genug) getestet wird Verständnis Performance ist keine inhärente Systemeigenschaft Funktionalität vor Performance Qualitätssicherung bedeutet funktionale Sicherstellung Testqualität Analysen sind zeitaufwändig werden nicht durchgeführt Keine konkreten Performance Ziele und Anforderungen Fehlende / Schlechte Performance Anforderungen Testdatenmenge und -qualität Keine produktionsähnliche Testumgebung Werkzeuge werden nicht eingesetzt NovaTec 13.05.2014 21
Was kann man tun NovaTec 13.05.2014 22
Der typische Performance Prozess NovaTec 13.05.2014 23
Performance Prozesse sind nicht kompliziert NovaTec 13.05.2014 24
Performance Prozesse sind nicht kompliziert NovaTec 13.05.2014 25
Performance ist wichtig Wichtigkeit von Performance anerkennen und kommunizieren Konkrete Definition von Performance Zielen Zeitgerechtes Einplanen und Einfordern von Performance Aktivitäten Kommunikation zwischen Teilbereichen stärken NovaTec 13.05.2014 26
Qualifikation und Zusammenarbeit steigern Collective Code Ownership fördern Durchgehendes Verständnis der Anwendung stärken Technische Grundkenntnisse aufbauen und erweitern Wissenaufbau und Wissenstransfer für eingesetzte Technologien fördern Entwicklungsseitige Performancetests aufbauen Regelmässige Testdurchführungen einplanen Zusammenarbeit fördern Anwendung von Werkzeugen NovaTec 13.05.2014 27
Werkzeug Unterstützung bei der Erkennung und Diagnose von Ursachen Grund Ursache Problem Auswirkung NovaTec 13.05.2014 28
Welche Werkzeuge stehen bereit NovaTec 13.05.2014 29
Funktionsumfang von APM Lösungen End user experience NovaTec 13.05.2014 31
Funktionsumfang von APM Lösungen Abbildung aus dem Werkzeug Compuware APM (Dynatrace) Screenshot der offziellen Homepage http://www.compuware.com/en_us/application-performance-management/products/application-monitoring/java-net-php.html NovaTec 13.05.2014 32
Funktionsumfang von APM Lösungen Abbildung aus dem Werkzeug AppDynamics Screenshot der offiziellen AppDynamics Homepage http://www.appdynamics.com/products/end-userexperience-management NovaTec 13.05.2014 33
Funktionsumfang von APM Lösungen End user experience Architecture discovery NovaTec 13.05.2014 34
Funktionsumfang von APM Lösungen Abbildung aus dem Werkzeug AppDynamics Screenshot der offiziellen AppDynamics Homepage http://www.appdynamics.com/products/application-performance-monitoring NovaTec 13.05.2014 35
Funktionsumfang von APM Lösungen End user experience Architecture discovery Transaction profiling NovaTec 13.05.2014 36
Funktionsumfang von APM Lösungen Abbildung aus dem Werkzeug AppDynamics Screenshot der offiziellen AppDynamics Homepage http://www.appdynamics.com/products/application-performance-monitoring NovaTec 13.05.2014 37
Funktionsumfang von APM Lösungen End user experience Architecture discovery Transaction profiling Component Deep Dive NovaTec 13.05.2014 38
Funktionsumfang von APM Lösungen Abbildung aus dem Werkzeug CA Wily Introscope NovaTec 13.05.2014 39
Funktionsumfang von APM Lösungen Abbildung aus dem kostenfreien Werkzeug inspectit NovaTec 13.05.2014 40
Funktionsumfang von APM Lösungen End user experience Architecture discovery Transaction profiling Component Deep Dive Resource Monitoring NovaTec 13.05.2014 41
Funktionsumfang von APM Lösungen Abbildung aus dem Werkzeug Compuware APM (Dynatrace) Screenshot der offziellen Homepage http://www.compuware.com/de_de/application-performance-management/products/purestack-technology.html NovaTec 13.05.2014 42
Funktionsumfang von APM Lösungen End user experience Architecture discovery Transaction profiling Component Deep Dive Resource Monitoring Analytics NovaTec 13.05.2014 43
Funktionsumfang von APM Lösungen Abbildung aus dem Werkzeug Compuware APM (Dynatrace) Screenshot der offziellen Homepage http://www.compuware.com/de_de/application-performance-management/solutions/web.html NovaTec 13.05.2014 44
Zusammenfassung Performance Probleme haben starke Auswirkung auf die betriebswirtschaftlichen Kenngrößen von Anwendungen Performancerelevante Fehler können durch Kommunikation und Ausbildung verringert werden, jedoch nicht abgeschafft werden Die Ursachen der häufigsten Performance Probleme könnten durch entsprechende Tests und entsprechenden Werkzeugen einfach gefunden werden Primär handelt es sich um organisatorische Gründe als Wurzel NovaTec 13.05.2014 45
Fragen? Anmerkungen? Testen Sie unsere kostenfreien Performance Werkzeuge Kostenfreie Java Performance Diagnose mit inspectit (www.inspectit.de) Kostenfreie Lastgenerierung mit loadit (www.loadit.de) NovaTec 13.05.2014 46
- Wir führen IT-Projekte zum Erfolg - Vielen Dank für Ihre Aufmerksamkeit! NovaTec Consulting GmbH Hauptniederlassung Dieselstr. 18/1 D-70771 Leinfelden-Echterdingen Telefon: +49 711 22040-700 Fax: +49 711 22040-899 E-Mail: info@novatec-gmbh.de Internet: www.novatec-gmbh.de Niederlassung München Landsberger Straße 439 D-81241 München Niederlassung Frankfurt Friedrich-Ebert-Anlage 36 D-60325 Frankfurt am Main Niederlassung Berlin Potsdamer Platz 11 D-10785 Berlin Niederlassung Naher Osten P.O. Box 140611 Jeddah 21333, Saudi-Arabien