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? Wir sind für Sie da.

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
Techn. Hotline: +49 4307 900 403
Vertrieb: +49 4307 900 402

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