Drehbuch für apm Application Performance Management

Werbung
Drehbuch
für
apm
Application Performance Management
Verfasser:
Christoph Denzler
Modulanlass:
FS / 2016
Datum:
1. 4. 2016
Inhaltsverzeichnis
Inhaltsverzeichnis ............................................................................................................................................ 2
1
Funktion im Rahmen der Gesamtausbildung .......................................................................................... 3
1.1
Leitidee ............................................................................................................................................ 3
1.2
Voraussetzungen / Vorkenntnisse ................................................................................................... 3
1.3
Outcome-Kompetenzen der Studierenden (KISA) .......................................................................... 3
2
Unterrichtsorganisation ............................................................................................................................ 4
2.1
Lern- und Arbeitsformen .................................................................................................................. 4
2.2
Zeitaufwand für Studierende (summarisch) .................................................................................... 4
2.3
Leistungsbeurteilung ....................................................................................................................... 4
Arbeitsmittel ................................................................................................................................................. 4
3
Themen der Unterrichtsblöcke ................................................................................................................ 5
3.1
Performance Tuning von J2SE Applikationen ................................................................................. 5
3.2
Application Server installieren ......................................................................................................... 5
3.3
Performance Tuning von JEE Applikationen ................................................................................... 5
4
Drehbuch ................................................................................................................................................. 6
1
Funktion im Rahmen der Gesamtausbildung
1.1
Leitidee
Application Performance Management ist ein Module in der Vertiefungsrichtung „Verteilte Software
Systeme“. In dieser Vertiefungsrichtung geht es darum, Enterprise Applications auf verteilten Systemen
realisieren zu können. Das Modul Application Performance Management befasst sich mit den
Möglichkeiten des Performance Tunings solcher Applikationen. Es richtet sich in erster Linie an SoftwareEntwickler, die ein Verständnis benötigen über die Systeme auf denen sie Ihre Software laufen lassen.
Entwicklerinnen müssen verstehen, welche Einflüsse das Laufzeitsystem auf die Applikation bezüglich
Performance hat. Zudem müssen Entwickler Handbücher für den Betrieb schreiben können, so dass die
Software möglichst effizient betrieben werden kann.
1.2
Voraussetzungen / Vorkenntnisse
Vorraussetzung: sysad, bsys, algds2 und entmu
Empfohlen: swa, dnet1 und vesys
Um dem Inhalt folgen zu können sind grundlegende Kenntnisse von Betriebssystemen und
Systemadministration nötig. Zudem sollte die Programmiersprache Java auf fortgeschrittenem Level
bekannt sein. Einige Themen werden auch ein vertieftes Verständnis von Algorithmen und Entwurfsmuster
erfordern.
Daneben ist es nützlich etwas über den Bau von Softwaresystemen (Softwareentwurf) und von
Datennetzen zu verstehen. Kenntnisse von Verteilten Systemen sind nützlich um das Clustering besser zu
verstehen.
1.3
Outcome-Kompetenzen der Studierenden (KISA)
Kompetenzen
Die Studierenden können einen
JEE Applikationsserver für ein
Entwicklungsprojekt installieren
und betreiben.
Indikatoren
Sie haben einen
Applikationsserver (JBoss)
auf ihren Rechnern
installiert.
Standard
K3
Assessment
Entsprechende
Aufgaben lösen.
Spätere Übungen
werden darauf
aufbauen.
Entsprechende
Aufgaben auf Papier
lösen. Eine
Messumgebung
aufbauen (Übungen)
Die Studierenden können für
eine Applikation
Performanceziele aus nicht
funktionalen Anforderungen
ableiten. Sie sind in der Lage
die nötigen
Performancemessungen zu
planen und durchzuführen.
Sie können entsprechende
Aufgabenstellungen lösen
und Messprotokolle
vorlegen.
K5
Messresultate richtig
interpretieren und die daraus
notwendigen Massnahmen am
Deployment, an der
Konfiguration sowie an der
Implementation der Applikation
vorschlagen können.
Sie können Messprotokolle
interpretieren und
Verbesserungsmassnahmen
vorschlagen.
K6
Massnahmen werden
implementiert und die
verbesserte Version
läuft optimaler
gemäss den
definierten
Performancezielen.
Die Studierenden kennen
verschiedene Massnahmen zur
Performanceoptimierung und
können diese auch effektiv
einsetzen
Sie sind in der Lage für ein
Problem mehrere
Optimierungsvarianten
vorzuschlagen und auch
eine der effektivsten
auszuwählen.
K4
Entsprechende
Übungen lösen inkl.
Variantenauswahl und
Implementation.
2
Unterrichtsorganisation
2.1
Lern- und Arbeitsformen
42 Stunden werden im Kontaktstudium und begleitetem Selbststudium absolviert, um den Studierenden
grundlegendes Wissen des Performance Tunings anschaulich zu vermitteln. Während diese 42 Stunden
werden Arbeitsblätter selbstständig bearbeitet.
Das vermittelte Wissen wird in 42 Stunden Selbststudium (unbegleitet) erweitert und in
Lösungskompetenzen zu Fragestellungen des Performance Tunings vertieft. Hierfür werden vom
Studierenden vorgegebene Übungsaufgaben eigenständig gelöst.
Zu den Übungsaufgaben wird individuelles Feedback gegeben. Eine Übungsbesprechung dient zur
Restklärung.
6 Stunden individuelles Selbststudium dienen der Festigung der Kenntnisse und der Prüfungsvorbereitung.
Die Arbeitsform und -inhalte werden vom Studierenden selbst gewählt.
2.2
Zeitaufwand für Studierende (summarisch)
Kontaktunterricht KS:
Begleitetes Selbststudium BSS:
Unbegleitetes Selbststudium während Unterrichtszeit USS:
Unbegleitetes Selbststudium während unterrichtsfreier Zeit:
Individuelles Selbststudium ISS:
28h
14h
42h
0h
6h
Gesamtaufwand:
90h
2.3
Leistungsbeurteilung
Assessments
Während des Semesters finden zwei bewertete, schriftliche Prüfungen statt. Diese bestehen aus je zwei
Teilen:
 Teil 1: theoretische Fragen, es sind keine Unterlagen erlaubt.
 Teil 2: praktische Aufgaben. In diesem Teil sind schriftliche Unterlagen erlaubt.
In beiden Teilen sind elektronische Hilfsmittel wie Taschenrechner, Computer, Mobiltelefon etc. nicht
erlaubt.
Es findet KEINE Modulschlussprüfung statt.
Arbeitsmittel
Literatur
ergänzende Literatur
von Dozierenden abgegebene Arbeitsmittel
spezielle Informatikmittel
weitere Arbeitsmittel

JBoss in Action, J. Jamae & P. Johnson,
Manning 2009
 Pro Java EE 5, Performance Management
and Optimization, Steven Haines, Apress
2006
Diverse Artikel und Foliensätze
Skript
 Wildfly
 Eclipse EE
 JDK 1.8
-
3
Themen der Unterrichtsblöcke
3.1
Performance Tuning von J2SE Applikationen
Lernziele
• Die Studierenden kennen einige der effektivsten Methoden zur Performancesteigerung bei
normalen Java-Applikationen und können diese auch anwenden.
• Sie kennen die möglichen Auswirkungen der einzelnen Methoden und können umgekehrt aus
Messgrössen auch Rückschlüsse auf verbesserungswürdige Code-Partien schliessen.
Inhalte
 Garbage Collection: Funktionsweise, Algorithmen und Tuningmöglichkeiten
 Memory Leaks: Aufspüren und vermeiden
 Java New IO (nio): Unterschiede gegenüber Standard IO
3.2
Application Server installieren
Lernziele
 Die Studierenden können einen JEE Application Server installieren.
 Sie kennen die wichtigsten Verzeichnisse und deren Inhalte.
 Sie kennen die Architektur des Application Server.
 Sie sind in der Lage mehrere Applikationen nebeneinander zu deployen. Versionskonflikte
zwischen Class- bzw. Jar-Files können gelöst werden.
Inhalte





Wildfly 10
Eclipse EE
Deployments
JMX – MBeans zur Konfiguration von Serverkomponenten
Classloaders
3.3
Performance Tuning von JEE Applikationen
Lernziele
• Die Studierenden kennen die Möglichkeiten von Load Balancing und Clustering.
• Sie können diese Werkzeuge zur Skalierung von Applikationen eingesetzen.
• Sie wissen welche Auswirkugen Nicht-Funktionale Anforderungen auf Performanceziele haben.
• Sie können Performancemessungen gezielt planen, durchführen und auswerten.
• Sie sind in der Lage Vorschläge zur Erreichung von Performancezielen aufgrund von Messungen
zu machen.
Inhalte






Load Balancing und High Availability
Clustering
Messaging
Performance Management im Entwicklungsprozess
Performancemessungen und Werkzeuge
Auswertung/Interpretation von Messungen und Schlussfolgerungen
4
Drehbuch
Beinhaltet:
Studieninhalte mit Stundenzuteilung über das Semester (Wochenraster) und davor/danach, mit:
- Kontaktunterricht/Lehrveranstaltung (KS)
- Eigenständige Arbeitsleistung der Studierenden = Selbststudium
- angeleitet, d.h. mit Aufgabenstellung des/der Dozierenden
- begleitet durch Dozierende (BSS)
- unbegleitet vor während und nach dem Semester (USS)
- individuell während und vor/nach dem Semester (ISS)
Aufwandsplanung
Die tatsächliche Reihenfolge der Inhalte kann von der hier angegebenen abweichen.
Inhalt/Lernauftrag
Aufwand (h)
KS
BSS
USS
Garbage Collection Algorithmen
2
1
4
Carbage Collection Tuning
2
1
3
Java nio
2
1
4
Class Loader
2
1
4
Application Server
2
1
4
Performance Management
2
1
3
Load Balancing
2
1
4
Clustering
2
1
4
Caching
2
1
3
Messaging
2
1
4
Performance messen
2
1
2
Auswertung/Interpretation von Messungen
2
1
2
Performance Tuning Lab
1
2
Prüfung 1
1
3
Prüfung 2
2
4
Total
29
14
41
ISS
6
Herunterladen