Was ist Performance Engineering?
Das Performance Engineering ist einer systematischer Testansatz, zum Erstellen von Software, welche die Performance Ziele erfüllt.Es ist ein fortlaufender Prozess, durch alle Phasen des Entwicklungszyklus, von der Designphase über die Entwicklung bis hin zur Qualitätssicherung.
Es bezieht sich um ein proaktives, kontinuierliches und durchgängiges Testen und Überwachen der Anwendungsleistung.
Es könnte so gesehen werrden als eines kultureller Wandel in der Art und Weise, wie Organisationen ihre wesentlichen Prozesse sehen.
Das ermöglicht der shift-left performance testing and das shift-right performance monitoring(application observability).
Performance Engineering umfasst die Techniken, die während eines Systementwicklungslebenszyklus angewendet werden, um sicherzustellen, dass die nicht funktionalen Leistungsanforderungen,NFRs wie Durchsatz, Latenz oder Speichernutzung erfüllt werden.
Ziele:
- Sichern und Steigern Sie den Geschäft, wird gesichert, dass das System Transaktionen innerhalb des erforderlichen Zeitrahmens und Antwortzeiten verarbeiten kann
- Systemausfälle Beseitigung, Versagens des Leistungsziele vermeiden
- Vermeiden eine verspätete Systembereitstellung aufgrund von Leistungsproblemen
- Eliminieren die vermeidbare Systemnacharbeiten aufgrund von Leistungsproblemen und die Anstrengungen zur Systemoptimierung
- Vermeiden zusätzliche und unnötige Hardware-Anschaffungskosten
- Reduzieren die erhöhte Softwarewartungskosten aufgrund von Leistungsproblemen in der Produktion oder aufgrund von Software, die von Ad-hoc-Leistungskorrekturen betroffen ist
- Identifizierung von zukünftige Engpässe durch Simulation über Prototypen
- Serverleistung Erhöhnung
Ansatzt
Da diese Disziplin in mehreren Methoden angewendet wird, werden mehreren Aktivitäten in unterschiedlich festgelegten Phasen stattfinden.
Während dieser Definitionsphase werden die kritischen Geschäftsprozesse in kritische Anwendungsfälle zerlegt. Sondenfälle werden nach Bedarf weiter in einzelne Seiten zerlegt. Dies sind die Anwendungsfälle, die skriptgesteuerten Leistungstests unterzogen werden.
Während sich eine funktionale Anforderung darauf bezieht, welche Geschäftsvorgänge durchgeführt werden sollen, bezieht sich eine leistungsbezogene nicht-funktionale Anforderung darauf, wie schnell dieser Geschäftsvorgang unter definierten Umständen ausgeführt werden könnte.
Ausarbeitung und Konstruktion
Das Performance Engineering Team führt normalerweiße Performance Tests in einer spezialisierten dedizierte Performance Test Umgebung, die so konfiguriert ist, dass der geplanten Produktionsumgebung so nahe wie möglich kommt. Das Team führt Performance Test gegen eine normalerweise erwartete (mittlere) Belastung sowie eine Spitzenbelastung durch.Ausserdem Sie führen häufig Stresstests durch, die die Systemengpässe identifizieren. Die gesammelten Daten und die Analyse werden an die Performance Tuning Team zurückgemeldet, die die Performance optimierung durchführt.
Übergang
Während dieser letzten Phase wird das System in der Produktionsumgebung bereitgestellt. Es sind einige vorbereitende Schritte erforderlich. Diese beinhalten:
- Konfigurieren der Betriebssysteme, des Netzwerks, der Server (Anwendung, Web, Datenbank, Load Balancer usw.) und jeglicher Message-Queuing-Software gemäß den Basis-Checklisten und den in der Leistungstestumgebung identifizierten Optimierungen
- Sicherstellen, dass die gesamte Performance Monitoren Software bereitgestellt und konfiguriert ist
- Ausführen von Statistiken nachdem das Laden der Produktionsdaten abgeschlossen ist
Sobald das neue System bereitgestellt ist, nehmen laufende Leistungsaktivitäten auf, einschließlich:
- Validierung -wöchentliche und monatliche Leistungsberichte verwenden, dass kritische Anwendungsfälle innerhalb der angegebenen NFRs ausgeführt werden
- Wenn Anwendungsfälle außerhalb der NFR-Kriterien liegen,Tickets/PI einreichen
- Identifizieren die prognostizierte Trends aus monatlichen und vierteljährlichen Berichten und vierteljährlich Managementaktivitäten zur Kapazitätsplanung durchführen
Service Management
Im operativen Bereich (Bereitstellung nach der Produktion) konzentriert sich Performance Engineering hauptsächlich auf drei Bereiche: Service Level Management, Kapazitätsmanagement und Problemmanagement.
Monitoren
Um sicherzustellen, dass es ein angemessenes Feedback gibt, das bestätigt, dass das System die von NFR spezifizierten Performance Metriken erfüllt, benötigt jedes größere System ein Monitoren System. Planung, Design, Installation, Konfiguration und Steuerung des Überwachungssystems werden durch einen entsprechend definierten Überwachungsprozess spezifiziert.
Verwandte Begriffe