Performancemanagement für serviceorientierte Java-Anwendungen - Werkzeug- und Methodenunterstützung im Spannungsfeld von Entwicklung und Betrieb

von: Christof Schmalenbach

Springer-Verlag, 2007

ISBN: 9783540366324 , 267 Seiten

Format: PDF, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 22,99 EUR

Mehr zum Inhalt

Performancemanagement für serviceorientierte Java-Anwendungen - Werkzeug- und Methodenunterstützung im Spannungsfeld von Entwicklung und Betrieb


 

Vorwort

7

Die Struktur des Buches

8

Danksagungen

10

Inhaltsverzeichnis

13

1 Einführung

18

1.2 Ein Performancemeeting

18

1.3 Das fachliche und technische Umfeld

21

1.4 Performanceaspekte

22

1.5 Neue Herausforderungen

25

1.6 Performance als interdisziplinäre Herausforderung

27

Literatur

28

2 Performance und Entwicklungsprozess

29

2.1 Motivation

29

2.2 Rollen und Aufgaben

30

2.2.1 Der Facharchitekt

30

2.2.2 Der IT-Architekt

31

2.2.3 Der Entwickler

32

2.2.4 Der Systemadministrator

33

2.3 Aufbau eines Performanceteams

34

2.3.1 Organisationsstruktur des Performanceteams

35

2.3.2 Kickoff-Workshop des Performanceteams

38

2.4 Performance- und Lasttests

48

2.4.1 Der Testplan

49

2.4.2 Testvorbereitung

51

2.4.3 Testdurchführung

56

2.4.4 Analyse und Testberichte

56

2.5 Zusammenfassung

57

Literatur

58

3 Quantitative Methoden

59

3.1 Motivation

59

3.2 Ressourcen und Warteschlangen

61

3.2.1 Begriffsfestlegungen und Definitionen

62

3.2.2 Auslastung und das Utilization Law

63

3.2.3 Das Forced Flow Law

65

3.2.4 Die Queueing-Formel von Little

66

3.2.5 Response Time Law

67

3.3 Mean Value Analysis

69

3.3.1 Das Arrival-Theorem

71

3.3.2 Implementierung des MVA-Algorithmus

72

3.3.3 Anwendungsmöglichkeiten der Mean Value Analysis

75

3.4 Zusammenfassung und Ausblick

78

Literatur

80

4 Simulationstechniken

81

4.1 Motivation

81

4.1.1 Kleine Ursache – große Wirkung

82

4.2 Rechnergestützte Simulationsmodelle

83

4.2.1 Simulation als Alternative zu Testverfahren

84

4.2.2 Simulation als Alternative zu analytischen Verfahren

84

4.3 Begriffsbildung und Definitionen

85

4.3.1 Der Systembegriff

86

4.3.2 Der Modellbegriff

86

4.3.3 Datenstrukturen

87

4.4 Diskrete Ereignissimulation

88

4.4.1 Entitäten, Ressourcen und Attribute

88

4.4.2 Ereignisse, Aktivitäten und Prozesse

89

4.4.3 Algorithmische Grundprinzipien einer Simulation

92

4.5 Zusammenfassung

96

Literatur

98

5 Dokumentation der Performanceanforderungen

99

5.1 Motivation

99

5.2 Nicht-funktionale Anforderungen

101

5.2.1 Die Dualität von Anforderungen

101

5.2.2 Die Bedeutung der nicht-funktionalen Anforderungen

102

5.2.3 Anforderungsdokumentation als Balanceakt

102

5.3 Die zentralen Performanceanforderungen

103

5.3.1 Mengengerüste und Volumen

103

5.3.2 Antwortzeiten aus Benutzersicht

105

5.3.3 Durchsatz

111

5.3.4 Verfügbarkeit

111

5.3.5 Skalierbarkeit

116

5.4 Service Level Agreements

118

5.4.1 Performancekontrollen etablieren

119

5.4.2 SLA und SOA

120

Literatur

122

6 Werkzeugunterstützte Kapazitätsplanung

123

6.1 Zielsetzung und Motivation

123

6.2 Die Notwendigkeit von Modellerweiterungen

124

6.2.1 High Performance On Demand Solutions

125

6.3 On Demand Performance Advisor

125

6.3.1 What-If-Analysen und Anwendungsmodi

127

6.3.2 Verfahrensweise

127

6.3.3 MVA-Erweiterungen

132

6.4 Kapazitätsplanung einer Versicherungsanwendung

133

6.4.1 Antragserfassung und Vertragsverwaltung

133

6.4.2 Anwendungsfälle und Lastszenarien

134

6.4.3 Ressourcenbedarfsermittlung im Lasttest

135

6.4.4 Performanceziele

136

6.4.5 Auswertung des Modells

138

6.5 Zusammenfassung und Ausblick

141

6.5.1 Restriktionen

141

6.5.2 Ergänzende und alternative Werkzeuge

142

Literatur

144

7 Simulation von Geschäftsprozessen

145

7.1 Motivation

145

7.1.1 Modelle als Orientierungsrahmen

145

7.1.2 Analogien nutzen

146

7.1.3 Performanceanforderungen identifizieren

146

7.2 Prozessmanagement und Simulation

146

7.2.1 Analyse und Modellbildung

147

7.2.2 Entwicklung und Deployment

148

7.2.3 Prozessmonitoring

148

7.3 WebSphere Business Modeler

148

7.3.1 Aktivitäten

149

7.3.2 Business Items

149

7.3.3 Ressourcen und Rollen

150

7.4 Fallbeispiel Schadensmanagement

150

7.4.1 Automatisierte Belegverarbeitung

151

7.4.2 Der fachliche Hintergrund

152

7.4.3 Die fachlichen Objekte

153

7.4.4 Ressourcen und Rollen

154

7.4.5 Aktivitäten, Services und Entscheidungspfade

154

7.5 Ziele der Prozessanalyse

157

7.6 Simulationsergebnisse

159

7.6.1 Ein Arbeitstag in der Schadensabteilung

160

7.6.2 What-If-Analysen

163

7.7 Zusammenfassung und Ausblick

167

7.7.1 Planung von Simulationsprojekten

168

Literatur

169

8 Java Monitoring und Profiling

170

8.1 Zielsetzung und Motivation

170

8.2 Die Qual der Wahl

171

8.2.1 Projektübergreifendes Produktmanagement

172

8.2.2 Performancetests durch Werkzeugevaluierung

174

8.2.3 Anwendungsspezifische Messverfahren

175

8.2.4 Einschränkungen und Nachteile

176

8.3 Ein Java Monitor im Eigenbau

178

8.3.1 Leistungsbeschreibung des Performancemonitors

179

8.3.2 Profiling versus Monitoring

181

8.3.3 Werkzeugportfolio

183

8.3.4 Die Unterstützung durch Java

183

8.4 Java Virtual Machine Profiler Interface

187

8.4.1 Klassifikation der JVMPI-Ereignisse

188

8.4.2 Ein erster prototypischer Versuch

190

8.4.3 Byte-Code-Instrumentierung

194

8.4.4 Byte Code Engineering Library

197

8.4.5 Der Monitor im ersten Einsatz

207

8.5 Neuerungen in Java 5

210

8.6 Bewertungskriterien für kommerzielle Werkzeuge

214

8.6.1 Schlechte Antwortzeiten bei geringer Systemlast

215

8.6.2 Ressourcenbedarf der Werkzeuge

216

8.6.3 Ressourcenermittlung und Auslastungsprofile

217

8.6.4 End-To-End Monitoring und Transaktionstracking

219

8.6.5 Weitere Anforderungen

221

8.7 Zusammenfassung

222

Literatur

223

9 Visualisierungstechniken

224

9.1 Motivation

224

9.2 Grundlegende Aspekte der Visualisierung

226

9.3 Streudiagramme

226

9.3.1 Einsatz von Mobilfunktechnologien

227

9.3.2 Laufzeiten eines Servlets

229

9.3.3 Speicherverhalten einer J2EE-Applikation

230

9.4 Balkendiagramme und Histogramme

232

9.4.1 GPRS-Benchmarkdaten im Histogramm

232

9.4.2 Klasseneinteilung über Anwendungsfälle

234

9.5 Interaktive Visualisierungstechniken

234

9.5.1 Eine Versicherungsanwendung im Internet

235

9.5.2 Ergebnisse des Tests

237

9.5.3 Die Analyse mit Treemaps

238

9.5.4 Detailanalyse und Problemlösung

241

9.6 Ein Chartgenerator in Perl

242

9.6.1 Die Struktur der Rohdaten

243

9.7 Zusammenfassung

248

Literatur

249

10 Beispielszenario Webservice

250

10.1 Motivation

250

10.2 Rahmenbedingungen und Gestaltungsmöglichkeiten

251

10.3 Das Beispielszenario

252

10.4 Aufbau der Testumgebung

253

10.4.1 Der Webservice

253

10.4.2 Applikationsserver und Lasttreiber

255

10.5 Der Single-User-Test

257

10.6 Der Webservice als Warteschlangenmodell

258

10.6.1 Modellierung von Mehrfachressourcen

259

10.6.2 Analytische Performanceprognose und Validierung

260

10.7 Die Simulation eines Webservice

262

10.7.1 Die Komponenten des Modells

262

10.8 Das Webservice-Modell in Desmo-J

265

10.8.1 Die Modellklasse

265

10.8.2 Das Ereignis RequesterRequestServiceEvent

268

10.8.3 Das Ereignis WorkerThreadLookUpEvent

269

10.8.4 Das Ereignis WorkerThreadFinishService

270

10.8.5 Ergänzende Elemente der Simulation

271

10.9 Simulationsergebnisse

273

10.9.1 Häufigkeitsverteilung der Antwortzeiten

274

10.10 Limitierte Warteschlangen

277

10.11 Zusammenfassung

278

Literatur

279

Sachverzeichnis

280