Ein Techniker blickt auf einen Monitor oder ein Terminal.

Was ist Leistungsoptimierung?

Die Definition von Leistungsoptimierung

Unter Leistungsoptimierung versteht man die Optimierung von IT-Systemen, damit diese die Benchmarks für Geschwindigkeit und Effizienz erfüllen.

Leistungsoptimierung entspricht nicht nur einer einzelnen Aktion, sondern einer DevOps- und Shift-Left-Methode, die es Unternehmen ermöglicht, die Leistung in jedem Schritt des Softwareentwicklungszyklus (SDLC) zu verfolgen und zu optimieren. Ihr Ziel ist es, sicherzustellen, dass Systeme Leistung und Metriken für Kriterien wie Geschwindigkeit, Zuverlässigkeit, Effizienz und Reaktionszeit erfüllen.

Für die Leistungsoptimierung zuständige Teams ermitteln zunächst die Grundleistung des Systems durch Stresstests. Anschließend nutzen sie diese Ausgangslage, um Netzwerkprobleme und Verbesserungsmöglichkeiten zu identifizieren. Sobald die Benchmarks festgelegt sind, können die Techniker mit der Neukonfiguration des Netzwerks beginnen, Korrekturen vornehmen und das Netzwerk kontinuierlich auf Leistungsprobleme und zukünftige Kapazitätsplanung überwachen.

Observability ist die Grundlage der Leistungsoptimierung. Observability-Tools erfassen die Rohdaten (Logs, Metriken und Traces), die die Systemleistung beschreiben, und die zuständigen Teams nutzen dieselben Daten, um die Auswirkungen ihrer Korrekturen zu verfolgen. Techniker für Leistungsoptimierung nutzen außerdem verschiedene andere Tools für das Application Performance Management und die Überwachung von Anwendungen, Stresstests, Browser-Audits und Benchmarks, um ein möglichst eindeutiges Bild ihrer Systeme zu erhalten.

Leistungsoptimierung vs. Application Performance Management und Performance Testing 

Leistungsoptimierung ist die umfassendere, ganzheitliche Disziplin der Optimierung von IT-Systemen zur Erfüllung vorgegebener Benchmarks. Application Performance Management (APM) und Performance Testing sind zwei der Maßnahmen, die an diesem gesamten Prozess beteiligt sind.

Application Performance Management ist eine Praxis, die Softwaretools, Datenanalysen und Anwendungsmanagementprozesse nutzt, um Unternehmen dabei zu helfen, die Leistung, Verfügbarkeit und die Erfahrung der Benutzer von Anwendungen zu optimieren. Während die Leistungsoptimierung den gesamten Entwicklungsprozess abdeckt, konzentriert sich APM auf die Erkennung und Behebung von Problemen in Live-Anwendungen.

Ähnlich ist es beim Performance Testing: Eine spezifische Maßnahme, bei der die Leistung eines Netzwerks oder einer Anwendung unter verschiedenen Bedingungen durch Lasttests, Stresstests, Dauertests und andere Tests überprüft wird. Wie beim APM ist auch das Performance Testing nur eine Maßnahme innerhalb der umfassenderen Praxis der Leistungsoptimierung.

Wie funktioniert Leistungsoptimierung?

Die Leistungsoptimierung erfolgt durch eine flexible, aber umfassende Abfolge von Maßnahmen, die das Festlegen von Benchmarks, Testen und Priorisieren, Optimierung, Planung und Leistungüberwachung umfasst.

Benchmarks

Zunächst ermittelt das Unternehmen, welches Leistungsniveau seine Systeme und Anwendungen benötigen, um die Geschäftsziele zu erreichen. Anschließend testen zuständige Techniker die aktuelle Leistung, um Referenzpunkte festzulegen und zu bestimmen, wie die Zielvorgaben erreicht werden können.

Zu den gängigen Benchmark-Metriken gehören Latenz, Durchsatz, Ressourcennutzung und Fehlerrate. Entwicklungsteams können diese Kennzahlen auf Mikroebene (innerhalb eines bestimmten Servers oder Dienstes) oder in größerem Maßstab über eine gesamte Anwendung oder ein Netzwerk hinweg messen.

Benchmarking beinhaltet oft spezifische Fragen zu Leistungsanforderungen und der Entwicklungsumgebung. Anstatt beispielsweise einen allgemeinen Schwellenwert für die CPU-Auslastung festzulegen, könnten sich Techniker fragen, ob weniger als 60 % der CPU-Leistung genutzt werden, wenn 5.000 Benutzer gleichzeitig eine Anwendung nutzen.

Testen und Priorisierung

Mit Performance-Testing-Tools validieren Techniker für Leistungsoptimierung Testdaten anhand etablierter Benchmarks, um zu bestimmen, welche Änderungen wo vorgenommen werden sollten, um die erforderlichen Servicestufen zu erfüllen.

Gängige Formen des Performance Testing sind:

Lasttests

Lasttests geben an, wie sich das System bei der Arbeit mit den erwarteten Lasten verhält. Das Ziel von Lasttests ist es, das Systemverhalten bei Workloads in routinemäßiger Größe unter normalen Arbeitsbedingungen mit einer durchschnittlichen Anzahl von gleichzeitigen Benutzern abzubilden.

Testen der Skalierbarkeit

Skalierbarkeitstests setzen das System unter Druck, indem sie das Datenvolumen oder die Benutzerlast erhöhen. Sie zeigen, ob ein System ein erhöhtes Tempo einhalten und dennoch etwas leisten kann.

Stresstests

Bei Stresstests wird das System bis an die Grenzen seiner Leistungsfähigkeit getestet - und dann noch weiter, um genau zu bestimmen, wie viel das System aushalten kann, bevor es an seine Grenzen stößt.

Spike-Test

Beim Spike-Testing wird beobachtet, was passiert, wenn der Benutzerverkehr oder das Datenvolumen plötzlich einen starken, drastischen Anstieg an Aktivität erfährt. Das System muss verschiedene Änderungen absorbieren, während es seinen normalen Betrieb fortsetzt.

Volumentests

Beim Volumentest wird untersucht, wie ein System mit großen Datenmengen umgeht, insbesondere ob es diese Daten vollständig verarbeiten und ohne Beeinträchtigung speichern kann.

Dauertests

Bei Dauertests oder Soak-Tests beobachten Techniker ein System über einen längeren Zeitraum, um Probleme wie eine allmähliche Datenverschlechterung oder Speicherlecks zu erkennen.

Optimierung

Nachdem die Grenzen und Schwächen des Systems identifiziert wurden, beginnt der Optimierungsprozess.

Je nach Art des betreffenden Leistungsengpasses können Techniker für Leistungsoptimierung folgende optimierende Strategien anwenden:

  • Algorithmusoptimierung, bei der die Algorithmen des Systems angepasst werden, um die Effizienz zu steigern.

  • Datenbankoptimierung, bei der zugrundeliegende Probleme mit Systemdaten durch Prozesse wie Abfrageoptimierung (der Prozess zur Bestimmung der effizientesten Methode zur Abfrageausführung für eine Datenbank) oder Indexoptimierung behoben werden, die darauf abzielen, sicherzustellen, dass das System die schnellstmöglichen Abrufpfade nutzt.

  • Caching, das die Ergebnisse anspruchsvoller Rechenvorgänge speichert, damit sie schneller reproduziert und abgerufen werden können.

  • Speicheroptimierung, bei der Techniker Speicherlecks reduzieren und die Garbage Collection beschleunigen, indem sie Objekte im Speicher wiederverwenden, Daten neu organisieren oder einige Daten extern speichern.

  • Netzwerkoptimierung, die Bandbreitenkomprimierung, Lastverteilung, die Wiederverwendung von HTTP-Verbindungen und andere Methoden zur Beschleunigung der Netzwerkleistung umfasst.

Planung und Überwachung

Nach der Optimierung des Systems überwachen die dafür zuständigen Techniker kontinuierlich die Abweichungen von der neuen Basislinie und planen zukünftiges Wachstum und Aktivitäten.

Dank der Observability können Techniker für Leistungsoptimierung feststellen, ob ihr System wie geplant funktioniert. Durch das Erfassen und Analysieren von Protokollen, Metriken und Traces können IT-Teams mithilfe von Observability-Tools Problemidentifikation und -lösung in Echtzeit automatisieren. Je besser ein System zu beobachten ist, desto schneller und genauer können IT-Teams von einem identifizierten Leistungsproblem zu dessen Ursache übergehen, ohne zusätzliche Tests oder Codierung.

Durch Kapazitätsplanung können Techniker für Leistungsoptimierung dem Geschäftsbedarf stets einen Schritt voraus sein, indem sie zukünftige Anforderungen an die IT-Infrastruktur antizipieren. Bei der Kapazitätsplanung werden die aktuelle Nachfrage und die verfügbare Kapazität analysiert und mit den Funktionen und Ressourcen des Unternehmens verglichen. Unternehmen entwickeln dann eine anpassungsfähige Strategie, die es ihnen ermöglicht, Ressourcen und Produktion effizient zu skalieren.

AI Academy

KI-Bereitschaft mit Hybrid Cloud

Das Programm, das von führenden IBM Experten geleitet wird, soll Führungskräften dabei helfen, das nötige Wissen zu erwerben, um die Prioritäten für KI-Investitionen zu setzen, die zu mehr Wachstum führen.

Vorteile der Leistungsoptimierung

Die Vorteile der Leistungsoptimierung umfassen eine verbesserte Benutzererfahrung, eine besser zu skalierende IT-Infrastruktur, effizientere Problemlösung und verbesserte Kapazitätsplanung.

Verbesserte Nutzererfahrung

Die Leistungsoptimierung verbessert die Erfahrung der Benutzer durch die Behebung von Leistungsproblemen wie hoher Latenzzeit, die dafür sorgen könnte, dass sich Benutzer von einem Dienst abwenden. Durch die Optimierung des Softwareentwicklungsprozesses und seiner Ausgaben kann die Leistungsoptimierung dazu beitragen, Vertrauen bei den Benutzern aufzubauen und Folgegeschäfte zu generieren.

Höhere Skalierbarkeit

Die Leistungsoptimierung zeichnet ein klares Bild der Probleme innerhalb eines Systems. Dieses Bild sorgt dafür, Engpässe bei der Erweiterung dieses Systems leichter zu vermeiden (entweder horizontal durch das Hinzufügen neuer Dienste oder vertikal durch die Nutzung von mehr Netzwerkkapazität).

Effiziente Problemlösung

Die Leistungsoptimierung stellt sicher, dass Techniker die nötigen Tools und Kenntnisse zur Verfügung haben, um Systeme zu produzieren, die die festgelegten Benchmarks erfüllen. Techniker können Leistungsprobleme schneller lösen, was die durchschnittliche Reparaturzeit (MTTR) verkürzt und geringere Kosten zur Folge hat, da Probleme erkannt werden, bevor sie die Netzwerkleistung erheblich beeinträchtigen.

Optimierte Kapazitätsplanung

Die Leistungsoptimierung kann zur Verbesserung einer effizienten Kapazitätsplanung beitragen, indem sie das Verständnis der Techniker für das Verhalten von Systemen verbessert. Durch den Benchmarking-Prozess und fortlaufende Observability-Praktiken erhalten Techniker verbesserte Einblicke in die Anforderungen ihrer Netzwerke. Dieser Einblick hilft ihnen dabei, bessere Entscheidungen hinsichtlich der Kapazität zu treffen und so das Risiko von Über- oder Unterausgaben für Serverkapazität zu verringern.

Herausforderungen der Leistungsoptimierung

Zu den Herausforderungen des Leistungsoptimierung gehören die Komplexität moderner Systeme, die Identifizierung der Ursachen von Problemen, die Berücksichtigung von „Long-Tail“-Problemen und der Aufbau der erforderlichen Toolsets und Fachkenntnisse.

Komplexität

Moderne IT-Umgebungen werden von Microservices dominiert, die in die Tausender gehen können und oft in komplexen hybriden Cloud-Umgebungen gehostet werden. Das Erfassen, Analysieren und Umsetzen von Erkenntnissen in diesen verteilten Systemen kann ein ressourcenintensiver Prozess mit manchmal unvorhersehbaren Workflows sein.

Erkennen der Ursachen

Die Komplexität erschwert es auch, die wahren Ursachen von Netzwerkproblemen zu identifizieren. Wenn eine API langsam reagiert, kann das auf eine schlecht indizierte Datenbank, ein Speicherleck oder ein Konfigurationsproblem zurückzuführen sein. Techniker für Leistungsoptimierung müssen möglicherweise eine Ursachenanalyse durchführen, um die tatsächliche Chance auf eine Leistungssteigerung zu identifizieren.

Long-Tail-Probleme

Long-Tail-Probleme sind schlechte Netzwerkbedingungen, die nur eine kleine Minderheit der Benutzer betrifft. Sie werden häufig durch idiosynkratische, schwer zu erkennende Probleme verursacht, die sich den üblichen Observability-Praktiken entziehen. Im Kontext der Leistungsoptimierung stellen diese Probleme eine Herausforderung dar, da sie die allgemeinen Netzwerkbedingungen bedrohen, ihre Ursachen jedoch schwer durch normales Performance Testing zu entdecken sind.

Aufbau der Infrastruktur

Die Durchführung von Leistungsoptimierung erfordert Fachkenntnisse der Mitarbeiter und ausgefeilte Plattformfunktionen. Für das Performance Testing sind aufwändige, groß angelegte Simulationen der Netzwerkbedingungen erforderlich. Teams müssen Systeme gut genug verstehen, um eine große Menge an Telemetriedaten in umsetzbare Erkenntnisse umzuwandeln. Die flexible, iterative Natur der Leistungsoptimierung erfordert eine institutionelle Struktur, die rasche Veränderungen bewältigen kann.

Autoren

Derek Robertson

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

Verwandte Lösungen
IBM Cloud Infrastructure Center

IBM Cloud Infrastructure Center ist eine mit OpenStack kompatible Softwareplattform für die Verwaltung von Private-Cloud-Infrastrukturen, die auf IBM zSystems und IBM LinuxONE ausgeführt werden.

Cloud Infrastructure Center erkunden
IT-Infrastruktur

Stellen Sie eine sichere, KI-fähige Infrastruktur in Hybrid-Cloud-Umgebungen bereit

IT-Infrastrukturlösungen entdecken
Infrastrukturservices

Beschleunigen, sichern und optimieren Sie Ihre Hybrid-Cloud- und Unternehmensinfrastruktur mit der Anleitung von Experten der IBM Technology Expert Labs.

Infrastrukturservices entdecken
Machen Sie den nächsten Schritt

Transformieren Sie Ihre Unternehmensinfrastruktur mit den Hybrid-Cloud- und KI-fähigen Lösungen von IBM. Erkunden Sie Server, Speicher und Software, die zum Schutz, zur Skalierung und Modernisierung Ihres Unternehmens entwickelt wurden – oder gewinnen Sie Erkenntnisse von Experten, um Ihre generative KI-Strategie zu stärken.

  1. Erkunden Sie IT-Infrastrukturlösungen
  2. IBM Cloud entdecken