Empfehlungen für Leistungstests
Gilt für die folgende Checkliste zur Leistungseffizienz von Azure Well-Architected Framework:
PE:06 | Testen der Leistung. Führen Sie regelmäßige Tests in einer Umgebung durch, die der Produktionsumgebung entspricht. Vergleichen Sie die Ergebnisse mit den Leistungszielen und dem Leistungsvergleichstest. |
---|
In diesem Leitfaden werden die Empfehlungen für Tests beschrieben. Leistungstests helfen Ihnen, die Funktionalität einer Workload in verschiedenen Szenarien zu bewerten. Es umfasst das Testen der Antwortzeit, des Durchsatzes, der Ressourcenauslastung und der Stabilität der Workload, um sicherzustellen, dass die Workload ihre Leistungsanforderungen erfüllt.
Tests helfen, Leistungsprobleme zu vermeiden. Außerdem wird sichergestellt, dass Ihre Workload die Vereinbarungen zum Servicelevel erfüllt. Ohne Leistungstests kann es bei einer Workload zu Leistungseinbußen kommen, die häufig verhinderbar sind. Die Workloadleistung kann von Leistungszielen und festgelegten Baselines abweichen.
Definitionen
Begriff | Definition |
---|---|
Chaostests | Ein Leistungstest, der darauf abzielt, die Resilienz und Stabilität eines Systems zu testen, indem absichtlich zufällige und unvorhersehbare Fehler oder Unterbrechungen eingeführt werden. |
Auslastungstest | Ein Leistungstest, der die Systemleistung bei typischer und hoher Auslastung misst. |
Leistungsbaseline | Ein Satz von Metriken, die das Verhalten einer Workload unter normalen Bedingungen darstellen, die durch Tests überprüft werden. |
Belastungstest | Ein Leistungstest, der ein System überlädt, bis es unterbrochen wird. |
Synthetischer Test | Ein Leistungstest, der Benutzeranforderungen in einer Anwendung simuliert. |
Wichtige Entwurfsstrategien
Leistungstests helfen Ihnen, messbare Daten für eine Workload zu sammeln. Wenn Sie Tests früh genug ausführen, helfen sie Ihnen auch beim Erstellen von Workloads nach den richtigen Spezifikationen. Sie sollten Leistungstests so früh wie möglich im Lebenszyklus der Softwareentwicklung durchführen. Frühe Tests ermöglichen es Ihnen, Leistungsprobleme früher in der Entwicklung abzufangen und zu beheben. Sie können einen Proof of Concept (POC) verwenden, wenn der Produktionscode nicht bereit ist.
Vorbereiten des Tests
Das Vorbereiten von Leistungstests bezieht sich auf das Einrichten und Anordnen der Ressourcen, Konfigurationen und Testszenarien, die Sie benötigen, um Leistungstests effektiv durchzuführen.
Definieren von Akzeptanzkriterien
Akzeptanzkriterien geben die Leistungsanforderungen an, die eine Workload erfüllen muss, um als akzeptabel oder erfolgreich angesehen zu werden. Definieren Sie Kriterien, die den Leistungszielen entsprechen.
Überprüfen Sie die Leistungsziele. Leistungsziele definieren die gewünschte Leistungsstufe für Ihre Workload. Überprüfen Sie die Leistungsziele, die für die Workload festgelegt sind. Leistungsziele sind Metriken, die die Antwortzeit, den Durchsatz, die Ressourcenauslastung oder andere relevante Leistungsindikatoren umfassen können. Beispielsweise können Sie ein Ziel haben, für das Ihre Antwortzeit unter einem bestimmten Schwellenwert liegt, z. B. weniger als 2 Sekunden.
Definieren Sie Akzeptanzkriterien. Übersetzen Sie die Leistungsziele in bestimmte Akzeptanzkriterien, mit denen Sie die Leistung Ihrer Workload bewerten können. Angenommen, Ihr Leistungsziel für die Antwortzeit beträgt maximal 2 Sekunden. Ihr Akzeptanzkriterium kann sein: Die durchschnittliche Antwortzeit der Workload sollte weniger als 2 Sekunden betragen. Verwenden Sie diese Akzeptanzkriterien, um zu bestimmen, ob die Workload die gewünschte Leistungsstufe erfüllt.
Wenn Sie Akzeptanzkriterien definieren, ist es wichtig, sich auf die Benutzer und ihre Erwartungen zu konzentrieren. Akzeptanzkriterien helfen sicherzustellen, dass die gelieferten Arbeiten den Anforderungen und Anforderungen der Benutzer entsprechen. Beachten Sie die folgenden Überlegungen, um die Benutzerperspektive in die Akzeptanzkriterien zu integrieren:
Benutzeranforderungen: Grundlegendes zu den Anforderungen und Zielen des Benutzers für die Workload. Überlegen Sie, wie die Workload ausgeführt werden soll, um diese Anforderungen zu erfüllen.
Benutzererfahrung: Definieren Sie Akzeptanzkriterien, die die gewünschte Benutzererfahrung erfassen. Schließen Sie Faktoren wie Antwortzeit, Benutzerfreundlichkeit, Barrierefreiheit und Gesamtzufriedenheit ein.
Funktionale Anforderungen: Adressieren Sie die spezifischen Funktionen, die der Benutzer in der Workload erwartet. Definieren Sie Akzeptanzkriterien für diese funktionalen Anforderungen, um sicherzustellen, dass sie erfüllt werden.
Anwendungsfälle: Berücksichtigen Sie verschiedene Szenarien oder Anwendungsfälle, die dem Benutzer möglicherweise begegnen. Definieren Sie Akzeptanzkriterien basierend auf diesen Anwendungsfällen, um die Leistung der Workload in realen Situationen zu überprüfen.
Legen Sie Akzeptanzschwellenwerte fest. Bestimmen Sie die Schwellenwerte innerhalb der Akzeptanzkriterien, die angeben, ob die Workload die Leistungsziele erfüllt. Diese Schwellenwerte definieren den zulässigen Leistungsbereich für jede Metrik. Angenommen, das Akzeptanzkriterium für die Antwortzeit beträgt weniger als 2 Sekunden. Sie können den Schwellenwert auf 2,5 Sekunden festlegen. Diese Ebene gibt an, dass eine Antwortzeit von mehr als 2,5 Sekunden als Leistungsproblem betrachtet wird.
Definieren Sie Die Kriterien für die Übergabe. Legen Sie die Kriterien fest, anhand derer bestimmt wird, ob die Workload den Leistungstest bestanden oder nicht bestanden hat. Sie können das Übergeben so definieren, dass alle Akzeptanzkriterien erfüllt oder ein bestimmter Prozentsatz davon erreicht wird.
Auswählen des Testtyps
Um den richtigen Typ von Leistungstest auszuwählen, ist es wichtig, den Test an Ihren Akzeptanzkriterien auszurichten. Die Akzeptanzkriterien definieren die Bedingungen, die erfüllt werden müssen, damit eine Anforderung oder Fehlerbehebung als erledigt betrachtet werden kann. Leistungstests sollten darauf abzielen, zu überprüfen, ob eine Workload diese Akzeptanzkriterien erfüllt und unter bestimmten Bedingungen wie erwartet ausgeführt wird. Wenn Sie den Leistungstesttyp an den Akzeptanzkriterien ausrichten, können Sie sicherstellen, dass sich der Test auf die Erfüllung der Leistungserwartungen konzentriert, die von den Kriterien definiert werden.
Verstehen der Akzeptanzkriterien. Überprüfen Sie die Akzeptanzkriterien für die Anforderung oder Fehlerbehebung. Die Kriterien beschreiben die spezifischen Bedingungen und Funktionen, die erfüllt werden müssen.
Identifizieren relevanter Leistungsmetriken. Bestimmen Sie basierend auf den Akzeptanzkriterien die Leistungsmetriken, die für die Erreichung der gewünschten Ergebnisse entscheidend sind. Wenn sich die Akzeptanzkriterien z. B. auf die Antwortzeit konzentrieren, kann es sinnvoll sein, Auslastungstests zu priorisieren.
Wählen Sie einen geeigneten Testtyp aus. Bewerten Sie die verfügbaren Testtypen, und wählen Sie den Testtyp aus, der den identifizierten Leistungsmetriken und Akzeptanzkriterien am besten entspricht.
Die folgende Tabelle enthält ein Beispiel für Testtypen und deren Anwendungsfälle.
Testtyp | BESCHREIBUNG | Anwendungsfall |
---|---|---|
Auslastungstests | Simulieren Sie realistische Benutzerauslastungen, um zu messen, wie Ihre Workload unter den erwarteten Spitzenauslastungen abschneidet. | Bestimmt die Lasttoleranz. |
Belastungstest | Pushen Sie Ihre Workload über ihre normalen Grenzen, um ihre Breaking Points zu identifizieren und ihre Fähigkeit zur Wiederherstellung zu messen. | Bestimmt Resilienz und Robustheit. |
Einweichtest (Dauertest) | Führen Sie Ihre Workload über einen längeren Zeitraum unter anhaltend hohen Belastungen aus, um Leistungseinbußen, Speicherverluste oder Ressourcenprobleme zu identifizieren. | Bewertet Stabilität und Zuverlässigkeit im Zeitverlauf. |
Spitzentests | Simulieren Sie plötzliche Zunahmen der Benutzerauslastung, um zu bewerten, wie Ihre Workload mit abrupten Änderungen der Nachfrage umgeht. | Misst die Fähigkeit, die Leistung in Spitzenzeiten zu skalieren und aufrechtzuerhalten. |
Kompatibilitätstests | Testen Sie die Leistung Ihrer Workload auf verschiedenen Plattformen, Browsern oder Geräten. | Trägt dazu bei, eine konsistente Leistung in verschiedenen Umgebungen sicherzustellen. |
Priorisieren Sie die ausgewählten Testtypen basierend auf den Merkmalen und Anforderungen Ihrer Workload. Berücksichtigen Sie Faktoren wie die Wichtigkeit von Leistungsmetriken, Benutzererwartungen, Geschäftsprioritäten und bekannte Probleme oder Sicherheitsrisiken.
Auswählen von Testtools
Wählen Sie die geeigneten Tools basierend auf dem Typ der Leistungstests aus, die Sie ausführen möchten. Bewerten sie die Infrastruktur, Ressourcen und Einschränkungen der Testumgebung. Wählen Sie Testtools aus, die die gewünschten Testtypen unterstützen, und stellen Sie die erforderlichen Funktionen für Überwachung, Messung, Analyse und Berichterstellung bereit.
Ein APM-Tool (Application Performance Monitoring, Anwendungsleistungsüberwachung) bietet umfassende Einblicke in Anwendungen und ist ein wichtiges Testtool. Es hilft Ihnen, einzelne Transaktionen nachzuverfolgen und deren Pfade über verschiedene Workloaddienste zuzuordnen. Nach dem Testen sollten Sie das APM-Tool verwenden, um Testdaten mit Ihrer Leistungsbaseline zu analysieren und zu vergleichen.
Verwenden Sie Profilerstellungstools, um Leistungsengpässe in Ihrem Code zu identifizieren. Die Profilerstellung hilft dabei, Bereiche des Codes zu identifizieren, die die meisten Ressourcen verbrauchen und optimiert werden müssen. Es bietet Einblicke in die Ausführungszeit und die Speicherauslastung verschiedener Teile des Codes.
Die folgenden Schritte helfen Ihnen bei der Auswahl der geeigneten Testtools:
Identifizieren von Testanforderungen. Verstehen Sie zunächst die spezifischen Anforderungen Ihrer Leistungstests. Berücksichtigen Sie verschiedene Faktoren:
- Der Typ der Workload
- Zu messende Leistungsmetriken, z. B. Antwortzeit und Durchsatz
- Die Komplexität der Workloadarchitektur
- Die Testumgebung, z. B. cloudbasiert, lokal oder hybrid
Forschungstesttools. Führen Sie Untersuchungen durch, um Leistungstesttools zu identifizieren, die Ihren Anforderungen entsprechen. Berücksichtigen Sie kommerzielle und Open-Source-Tools, die auf dem Markt verfügbar sind. Suchen Sie nach Tools, die Ihre gewünschten Arten von Leistungstests unterstützen, z. B. Auslastungstests oder Belastungstests, und die Funktionen zum Messen von Leistungsmetriken bereitstellen.
Auswerten von Toolfeatures. Bewerten Sie die Features, die jedes Testtool bereitstellt. Suchen Sie nach Funktionen wie simulation des realistischen Benutzerverhaltens und der Skalierbarkeit, um große Benutzerlasten zu bewältigen. Erwägen Sie die Unterstützung verschiedener Protokolle und Technologien, die Integration mit anderen Testtools oder Frameworks sowie Berichts- und Analysefunktionen.
Berücksichtigen Sie Kompatibilität und Integration. Ermitteln Sie die Kompatibilität der Testtools mit Ihrer vorhandenen Infrastruktur und Technologien. Stellen Sie sicher, dass die Tools problemlos in Ihre Testumgebung integriert werden können und mit der für die Überwachung und Analyse erforderlichen Workload kommunizieren können.
Bewerten sie Kosten und Lizenzierung. Bewerten Sie die Kostenstruktur und die Lizenzierungsbedingungen, die den Testtools zugeordnet sind. Berücksichtigen Sie Faktoren wie die Erstinvestition, die Wartungskosten und die Supportkosten. Berücksichtigen Sie auch andere Lizenzierungsanforderungen, die von der Anzahl der Benutzer oder virtuellen Benutzer abhängen.
Führen Sie einen POC durch. Wählen Sie einige Tools aus, die basierend auf Ihrer Auswertung am besten geeignet zu sein scheinen. Führen Sie einen kleinen POC durch, um die Benutzerfreundlichkeit, die Features und die Effektivität der Tools in Ihrem spezifischen Testszenario zu überprüfen.
Erwägen Sie Support und Schulung. Bewerten Sie den Support- und Schulungsgrad, den der Anbieter oder die Community des Tools bereitstellt. Ermitteln Sie die Verfügbarkeit von Dokumentationen, Tutorials und kanälen für technischen Support, um sie bei Allen Herausforderungen oder Problemen zu unterstützen, die während des Testprozesses auftreten können.
Erstellen von Testszenarien
Das Erstellen von Testszenarien bezieht sich auf den Prozess des Entwerfens bestimmter Situationen oder Bedingungen, die zum Testen der Leistung einer Workload geeignet sind. Testszenarien werden erstellt, um realistische Benutzerverhaltens- und Workloadmuster zu emulieren. Diese Szenarien bieten Leistungstestern eine Möglichkeit, die Leistung der Workload unter verschiedenen Bedingungen zu bewerten.
Testszenarien ermöglichen die Replikation verschiedener Workloadmuster, z. B. gleichzeitiger Benutzerzugriff, Spitzenlastzeiten oder bestimmte Transaktionssequenzen. Indem Sie die Workload unter verschiedenen Workloadmustern testen, können Sie Leistungsengpässe identifizieren und die Ressourcenzuordnung optimieren.
Definieren Sie das Benutzerverhalten. Emulieren Sie realistische Benutzerverhaltens- und Workloadmuster, indem Sie die Schritte und Aktionen identifizieren, die Benutzer ausführen, wenn sie mit der Workload interagieren. Erwägen Sie Aktivitäten wie die Anmeldung, das Durchführen von Suchvorgängen, das Übermitteln von Formularen oder den Zugriff auf bestimmte Features. Unterteilen Sie jedes Szenario in bestimmte Schritte und Aktionen, die die Interaktion des Benutzers mit der Workload darstellen. Sie können das Navigieren durch Seiten, das Ausführen von Transaktionen oder die Interaktion mit verschiedenen Elementen der Workload einschließen.
Bestimmen sie die Datenbeteiligung. Identifizieren Sie die Testdaten, die zum Ausführen der Testszenarien erforderlich sind. Sie können das Erstellen oder Generieren realistischer Datasets einschließen, die verschiedene Szenarien, Benutzerprofile oder Datenvolumes darstellen. Stellen Sie sicher, dass die Testdaten vielfältig sind und verschiedene Anwendungsfälle umfassen, um eine umfassende Leistungsauswertung zu ermöglichen.
Entwerfen von Testskripts. Erstellen Sie Testskripts, die die Ausführung der definierten Testszenarien automatisieren. Testskripts bestehen in der Regel aus einer Sequenz von Aktionen, HTTP-Anforderungen oder Interaktionen mit Workload-APIs oder Benutzeroberflächen. Verwenden Sie Leistungstesttools oder Programmiersprachen, um die Skripts unter Berücksichtigung von Faktoren wie Parametrisierung, Korrelation und dynamischer Datenverarbeitung zu schreiben. Überprüfen Sie die Testskripts auf Richtigkeit und Funktionalität. Debuggen Sie alle Probleme, z. B. Skriptfehler, fehlende oder falsche Aktionen oder datenbezogene Probleme. Die Überprüfung von Testskripts ist entscheidend, um eine genaue und zuverlässige Ausführung von Leistungstests sicherzustellen.
Konfigurieren Sie Testvariablen und -parameter. Konfigurieren Sie Variablen und Parameter in Testskripts, um Variabilität einzuführen und reale Szenarien zu simulieren. Schließen Sie Parameter wie Benutzeranmeldeinformationen, Eingabedaten oder Zufallsermittlung ein, um unterschiedliche Benutzerverhaltensweisen und Workloadantworten nachzuahmen.
Iterativ verfeinern von Skripts. Kontinuierliches Verfeinern und Verbessern von Testskripts basierend auf Feedback, Testergebnissen oder sich ändernden Anforderungen. Erwägen Sie, Skriptlogik, Parametrisierung und Fehlerbehandlung zu optimieren oder zusätzliche Überprüfungen und Prüfpunkte hinzuzufügen.
Konfigurieren der Testumgebung
Das Konfigurieren einer Testumgebung bezieht sich auf den Prozess der Einrichtung der Infrastruktur, Software und Netzwerkkonfigurationen, die Sie benötigen, um eine Umgebung zu erstellen, die Ihrer Produktionsumgebung sehr ähnlich ist.
Um Ihre Testumgebung so einzurichten, dass die Leistungseffizienz erhöht wird, schließen Sie die folgenden Schritte in Ihren Konfigurationsprozess ein:
Spiegeln Sie Ihre Produktionsumgebung. Richten Sie Ihre Testumgebung so ein, dass sie Ihrer Produktionsumgebung sehr ähnlich ist. Berücksichtigen Sie Faktoren wie Infrastrukturkonfiguration, Netzwerkeinstellungen und Softwarekonfigurationen. Ziel ist es, sicherzustellen, dass die Leistungstestergebnisse für die realen Bedingungen repräsentativ sind.
Stellen Sie ausreichende Ressourcen bereit. Weisen Sie der Testumgebung angemessene Ressourcen wie CPU, Arbeitsspeicher und Speicherplatz zu. Stellen Sie sicher, dass die verfügbaren Ressourcen die erwartete Workload verarbeiten und genaue Leistungsmessungen bereitstellen können.
Replizieren von Netzwerkbedingungen Konfigurieren Sie die Netzwerkeinstellungen in der Testumgebung, um die erwarteten Netzwerkbedingungen während der tatsächlichen Workloadbereitstellung zu replizieren. Sie müssen Bandbreite, Latenz und Netzwerkprotokolle einschließen.
Installieren und konfigurieren Sie Abhängigkeiten. Installieren Sie die Software, Bibliotheken, Datenbanken und andere Abhängigkeiten, die für die ordnungsgemäße Ausführung der Workload erforderlich sind. Konfigurieren Sie diese Abhängigkeiten so, dass sie der erwarteten Produktionsumgebung entsprechen.
Kompromiss: Es fallen Kosten für die Verwaltung separater Testumgebungen, das Speichern von Daten, die Verwendung von Tools und das Ausführen von Tests an. Kennen Sie die Kosten von Leistungstests, und finden Sie eine Möglichkeit, die Ausgaben zu optimieren.
Risiko: Produktionsdaten können vertrauliche Informationen enthalten. Ohne eine robuste Schrubbungs- und Maskierungsstrategie besteht die Gefahr, dass vertrauliche Daten verloren gehen, wenn Sie Produktionsdaten zu Testzwecken verwenden.
Durchführen der Tests
Führen Sie die Leistungstests mithilfe des ausgewählten Testtools aus. Das Testen umfasst das Messen und Aufzeichnen von Leistungsmetriken, die Überwachung der Integrität und das Erfassen von auftretenden Leistungsproblemen.
Überwachen und erfassen Sie Leistungsmetriken wie Antwortzeit, Durchsatz, CPU- und Arbeitsspeicherauslastung und andere relevante Indikatoren.
Verwenden Sie die definierten Testszenarien, um die Workload unter die erwarteten Auslastungen zu bringen. Führen Sie Tests unter diesen unterschiedlichen Auslastungsbedingungen durch. Verwenden Sie beispielsweise Ebenen wie Normal-, Spitzen- und Belastungsstufen, um das Verhalten der Workload in verschiedenen Szenarien zu analysieren.
Analysieren der Ergebnisse
Die Analyse der Testergebnisse umfasst die Untersuchung der gesammelten Daten und Metriken aus den Leistungstests, um Einblicke in die Leistung der Workload zu erhalten. Das Ziel besteht darin, Leistungsprobleme zu identifizieren und das Feedback zu verwenden, um Prioritäten in der Anwendungsentwicklung anzupassen. Die folgenden Aktionen sind wichtige Schritte zum Analysieren von Testergebnissen.
Überprüfen Sie Leistungsmetriken. Sehen Sie sich die Leistungsmetriken an, die Sie bei Leistungstests erfassen, z. B. Antwortzeiten, Durchsatz, Fehlerraten, CPU- und Arbeitsspeicherauslastung und Netzwerklatenz. Analysieren Sie diese Metriken, um die Gesamtleistung der Workload zu verstehen.
Identifizieren Sie Engpässe. Bewerten Sie die Leistungsmetriken, um Engpässe oder Bereiche mit ineffizienter Leistung zu identifizieren. Die Auswertung kann hohe Antwortzeiten, Ressourceneinschränkungen, Datenbankprobleme, Netzwerklatenz und Skalierbarkeitseinschränkungen umfassen. Wenn Sie die Ursachen dieser Engpässe ermitteln, können Sie Leistungsverbesserungen priorisieren.
Korrelieren von Metriken. Bewerten Sie die Beziehungen und Korrelationen zwischen verschiedenen Leistungsmetriken. Analysieren Sie beispielsweise, wie sich eine erhöhte Auslastung oder Ressourcenauslastung auf die Antwortzeiten auswirkt. Das Verständnis dieser Korrelationen kann wertvolle Einblicke in das Workloadverhalten unter verschiedenen Bedingungen bieten. Suchen Sie im Zeitverlauf nach Mustern und Trends in den Leistungsdaten. Analysieren Sie die Leistung unter unterschiedlichen Auslastungsebenen oder während bestimmter Zeiträume. Das Erkennen von Trends kann dazu beitragen, saisonale Schwankungen, Spitzennutzungszeiten oder wiederkehrende Leistungsprobleme zu identifizieren.
Bewerten Sie die Akzeptanzkriterien. Vergleichen Sie die Wiederholungsergebnisse mit den vordefinierten Akzeptanzkriterien und Leistungszielen. Bewerten Sie, ob die Workload die gewünschten Leistungsstandards erfüllt. Wenn die Workload die Akzeptanzkriterien nicht erfüllt, untersuchen und verfeinern Sie die Optimierungen weiter.
Iterieren und Verfeinern der Analyse. Nehmen Sie bei Bedarf weitere Anpassungen und Verbesserungen vor. Verwenden Sie die gesammelten Daten und Metriken, um bestimmte Leistungsprobleme zu diagnostizieren. Die Diagnose kann die Ablaufverfolgung durch die Workloadkomponenten, das Untersuchen von Protokolldateien, die Überwachung der Ressourcennutzung oder die Analyse von Fehlermeldungen umfassen. Untersuchen Sie die Daten, um die zugrunde liegenden Ursachen von Leistungsproblemen zu verstehen.
Priorisieren Sie basierend auf der Analyse der Testergebnisse identifizierte Leistungsprobleme, und implementieren Sie die erforderlichen Verbesserungen. Die Verbesserungen können die Optimierung von Code, die Optimierung von Datenbankabfragen, die Verbesserung der Zwischenspeicherungsmechanismen und die Optimierung von Netzwerkkonfigurationen umfassen.
Einrichten von Baselines
Baselines bieten einen Referenzpunkt für den Vergleich von Leistungsergebnissen im Zeitverlauf. Baselines sollten aussagekräftige Momentaufnahmen der Workloadleistung sein. Sie müssen nicht jeden Test als Basislinie verwenden.
Berücksichtigen Sie die Workloadziele, und dokumentieren Sie Leistungsmomentaufnahmen, mit denen Sie im Laufe der Zeit lernen und optimieren können. Verwenden Sie diese Baselinemessungen als Benchmark für zukünftige Leistungstests, und verwenden Sie sie, um Beeinträchtigungen oder Verbesserungen zu identifizieren.
Führen Sie die folgenden Schritte aus, um Baselines für Leistungstests zu erstellen und diese als Benchmark für zukünftige Leistungstests zu verwenden:
Identifizieren von Leistungsmetriken. Bestimmen Sie die spezifischen Leistungsmetriken, die Sie messen und nachverfolgen möchten. Beispiele hierfür sind:
- Antwortzeit oder wie schnell die Workload auf Anforderungen reagiert.
- Durchsatz oder die Anzahl der Anforderungen, die pro Zeiteinheit verarbeitet werden.
- Ressourcenauslastung, z. B. CPU-, Arbeitsspeicher- und Datenträgerauslastung.
Erfassen Sie aussagekräftige Messungen. Notieren Sie sich die Leistungsmetriken, die Sie während des Tests erhalten, als Baselinemessungen. Diese Messungen stellen den Ausgangspunkt dar, mit dem Sie zukünftige Leistungstests vergleichen.
Vergleichen Sie zukünftige Tests. Vergleichen Sie in nachfolgenden Leistungstests die Leistungsmetriken mit den festgelegten Baselines und Schwellenwerten. Mit dem Vergleich können Sie alle Verbesserungen oder Leistungseinbußen identifizieren.
Fortlaufendes Testen
Kontinuierliche Tests umfassen die kontinuierliche Überwachung und Optimierung Ihrer Tests. Kontinuierliche Tests helfen Ihnen, konsistente und akzeptable Leistungsniveaus beizubehalten. Eine Workload sollte ein konsistentes und akzeptables Leistungsniveau im Verhältnis zur Baseline bieten. Sie sollten die Workload im Laufe der Zeit optimieren, um eine konsistente Leistung zu erzielen, die innerhalb der akzeptablen Leistungsgrenzen liegt. Im Folgenden finden Sie einige wichtige Methoden:
Legen Sie Beeinträchtigungsgrenzwerte fest. Definieren Sie numerische Schwellenwerte, die die Im Laufe der Zeit akzeptable Leistungsbeeinträchtigung angeben. Durch Festlegen dieser Grenzwerte können Sie Leistungsschwankungen überwachen und Warnungen erhalten, wenn die Leistung unter den definierten Schwellenwert fällt.
Schließen Sie die Qualitätssicherung ein. Integrieren Sie Leistungsanforderungen wie CPU-Auslastung und maximale Anforderungen pro Sekunde in den Qualitätssicherungsprozess. Behandeln Sie Leistungsanforderungen mit der gleichen Wichtigkeit wie funktionale Anforderungen. Dieser Prozess trägt dazu bei, sicherzustellen, dass die Workload die definierten Leistungsanforderungen erfüllt, bevor Sie sie in der Produktion bereitstellen.
Automatisieren von Warnungen In Liveumgebungen sind schnelle Erkennung und Reaktion von entscheidender Bedeutung. Richten Sie automatisierte Warnungssysteme ein, die die Leistungsbaseline als Referenz verwenden. Bei einer erheblichen Leistungsabweichung werden die erforderlichen Teams sofort zum Handeln benachrichtigt.
Testen Sie Änderungen. Einige Leistungsprobleme treten möglicherweise nur in einer Liveeinstellung auf. Wenden Sie gründliche Testmethoden für vorgeschlagene Code- und Infrastrukturänderungen an. Verwenden Sie die Codeinstrumentation, um Einblicke in die Leistungsmerkmale der Anwendung zu erhalten, z. B. heiße Pfade, Speicherbelegungen und Garbage Collection. Durch diese Tests wird sichergestellt, dass änderungen die Leistung nicht über die zulässigen Grenzwerte hinaus beeinträchtigen.
Azure-Erleichterung
Durchführen der Tests: Mit Azure Pipelines können Sie Leistungstests in Ihre CI/CD-Pipeline integrieren. Sie können Auslastungstests als Schritt in Ihre Pipeline integrieren, um die Leistung und Skalierbarkeit Ihrer Anwendungen zu überprüfen.
Azure Chaos Studio bietet Ihnen eine Möglichkeit, reale Fehler in Ihre Anwendung einzufügen, sodass Sie kontrollierte Fehlerinjektionsexperimente ausführen können. Mit den Experimenten können Sie die Resilienz Ihrer Cloudanwendung und Ihres Diensts messen, verstehen und verbessern.
Azure Load Testing ist ein Auslastungstestdienst, der eine hohe Auslastung für jede Anwendung generiert. Load Testing bietet Funktionen zum Automatisieren von Auslastungstests und deren Integration in Ihren CI/CD-Workflow (Continuous Integration und Continuous Delivery). Sie können Testkriterien wie die durchschnittliche Antwortzeit oder Fehlerschwellenwerte definieren und Auslastungstests basierend auf bestimmten Fehlerbedingungen automatisch beenden. Load Testing bietet eine Dashboard, die Während eines Auslastungstests Liveupdates und detaillierte Ressourcenmetriken von Azure-Anwendungskomponenten bereitstellt. Sie können die Testergebnisse analysieren, Leistungsengpässe identifizieren und mehrere Testläufe vergleichen, um Leistungsregressionen im Laufe der Zeit zu verstehen.
Analysieren der Ergebnisse: Azure Monitor ist eine umfassende Überwachungslösung zum Sammeln, Analysieren und Reagieren auf Telemetriedaten aus Ihren Cloud- und lokalen Umgebungen. Application Insights ist eine Erweiterung von Monitor, die APM-Features bereitstellt. Sie können Application Insights verwenden, um Anwendungen während der Entwicklung und tests sowie in der Produktion zu überwachen.
Kompromiss: Das Testen erfordert Zeit und Fähigkeiten und kann sich auf die betriebsbezogene Effizienz auswirken.
Verwandte Links
Prüfliste zur Leistungseffizienz
Sehen Sie sich den vollständigen Satz von Empfehlungen an.