JAX 08: Java Performance Engineering

von Thomas Bahn,
assono GmbH, Standort Kiel,



Christian Kücherer, Georg Molter:
Java Performance Engineering

Performanceprobleme haben viele Symptome

  • schlechte Antwortzeiten
  • geringer Durchsatz
  • langsame GUI-Raaktivität
  • Hänger im Programmablauf
  • geringe Verfügbarkeit
  • indeterministisches Systemverhalten
  • Instabilität des Systems
  • usw.

Folge

Nicherfüllung nicht-funktionaler Anforderungen

Das System kann nicht so genutzt werden
wie geplant.

Prävention
Performance als nichtfunktionale Anforderung (NFA)
in den Requirements systematisch berücksichtigen
konkrete, messbare Vorgaben

Performance ist Teil der Software-Qualität und muss entsprechend gesichert werden
Adressieren von Performance während der Integration und der Entwicklung
Automatisiertes Testen nicht nur auf Funktion, sondern auch auf Performance

Schlechte Systemperformance:
Erste Hilfe:

  • schnellere Hardware kaufen
  • Verbesserung der Performance (Hotfix oder nächste Version)
  • Schadensbegrenzung: ggf. Rollback

    "Performance-Probleme sind schwer zu finden und meist leicht zu lösen" (wenn die Architektur gut ist)

    Mögliche Ursachen
  • Technische Gründe
  • Organisatorische Gründe
  • Architektonische Gründe

    Systematisches Vorgehen
  • Überblick verschaffen
  • Initiale Identifikation kritischer Komponenten
  • kritischste Komponente wählen
  • Analyse
  • Verbesserungen
  • Test
  • weiter bei der nächsten Komponente


    Typische Performance-Fallen
  • I/O (ist teuer, mit mark und reset kann es sein, dass man die gleichen Daten mehrfach liest.)
  • Datenstrukturen und Algorithmen
  • Caches
  • Singletons
  • Transaktionen (häufige Rollbacks)
  • JMS und Flow Control
  • Clustering und Singletons

    Sicherung und Monitoring


    Zusammenfassung

    Identifikation der Ursachen von Performance-Problemen
  • Schnelle Ergebnise durch systematisches Vorgehen
  • Kontrolle der Auswirkungen auf das System

    Prävention
  • Performance ist ein Aspekt von Software-Qualität und muss entsprechend gesichert werden
  • Adressieren von Performance während der Integration - und Entwicklung!
  • Augen auf vor Performance-Anti-Patterns!
Veranstaltung Fachbeitrag JavaScript Java Sonstiges

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie wollen eine individuelle Lösung? Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen oder möchten eine Demo anfordern?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

Wir verwenden Ihre Daten, um Sie einmalig per E-Mail zu kontaktieren. Wir geben Ihre Daten nicht an Dritte weiter. Siehe: Datenschutzhinweise
assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 407
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de