Skip to main content

Qualitätssicherung erfordert eine Kombination aus proaktiven Maßnahmen und effizienten reaktiven Protokollen. Mit dem richtigen Gleichgewicht können Sie den Nutzern einen hervorragenden Service und eine zuverlässige Funktionalität auf einem Server bieten, der das ganze Jahr über verfügbar ist. Das einzige Mittel, dieses Gleichgewicht zu erreichen, ist die Identifizierung der relevantesten Serverüberwachungsmetriken. 

Aber welche könnten das sein? Das hängt von Ihren gewünschten Eigenschaften ab, einschließlich jener, die im Quality Maturity Model beschrieben werden, sowie von Ihren Überwachungszielen. Dennoch gibt es einige Gesundheits- und Leistungsmetriken, die QA-Ingenieure immer im Auge behalten sollten, egal was passiert. 

Wenn Sie von Anfang an die idealen Serverüberwachungsmetriken auswählen, können Sie eine Leistungsbasislinie entwickeln, die Ihnen als Referenz dient, wenn zwangsläufig Probleme mit Gesundheit und Leistung auftreten. 

In diesem kurzen Leitfaden schauen wir uns an, warum Sie diese wichtigen Kennzahlen verfolgen sollten. Zudem erhalten Sie zusätzliche Einblicke in deren Relevanz und wie man sie kontrolliert. 

1. CPU-Auslastung

Einer der Hauptgründe für die Serverüberwachung ist es, die Infrastrukturgesundheit und die grundlegende Serverleistung im Auge zu behalten. Ein entscheidender Teil davon ist die proaktive Diagnose und Abschwächung potenzieller Leistungsprobleme. Die Messung der CPU- und Festplattenauslastung ist zentral für diese Bemühungen. Daher gehört die CPU-Auslastung zu den grundlegendsten und am häufigsten überwachten Leistungskennzahlen

Diese Kennzahl gilt als „hostbasiert“, da sie die Fähigkeit einer einzelnen Maschine, zu funktionieren und stabil zu bleiben, festhält. Das Monitoring der CPU-Auslastung umfasst dabei sowohl passives als auch aktives Monitoring. Letzteres ist besonders für kontrollierte Lasttests nützlich, während das erstere Messwerte während des Echtbetriebs erhebt. 

Wie misst man die CPU-Auslastung 

Bevor Sie beginnen, sollten Sie: 

  1. die jeweiligen Laufwerke auswählen, die Sie überwachen möchten. 
  2. feststellen, wo sich diese Laufwerke befinden. 
  3. sicherstellen, dass Ihr Datensammler Zugriff auf die Prozesse Ihres Computers hat. 

Haben Sie alles eingerichtet, müssen Sie die Abtastrate bestimmen, mit der Sie diese Metriken überwachen wollen. Zum Beispiel können Sie die CPU-Auslastung alle 30 Sekunden oder jede Minute messen. 

Es gibt verschiedene Möglichkeiten, die CPU-Auslastung zu überprüfen, wie etwa den Taskmanager oder den Befehl „wmic CPU get load percentage“ unter Windows-Systemen. Wenn Sie jedoch einen umfassenden Überblick über Ihren Server erhalten möchten, empfiehlt es sich, diese Daten auf einem Dashboard darzustellen. 

Denken Sie daran: Die CPU-Leistung wird auch von Hardware-Bedingungen wie CPU-Temperatur und Lüftergeschwindigkeit beeinflusst. Es ist sinnvoll, diese Faktoren zusammen mit der Auslastung (als Prozentwert dargestellt) in den beiden beschriebenen Zuständen zu überwachen und den Leerlauf zu ignorieren. 

Beschäftigt In dieser Zeit führt die CPU eine Aufgabe aus. 
I/O Dieser Zustand ist weder beschäftigt noch im Leerlauf. Stattdessen wartet die CPU
auf eine I/O-Operation, um eine Aufgabe auszuführen, typischerweise indem sie darauf wartet, Daten zu senden oder zu empfangen. 

Zu den beiden wichtigsten Werten, die Sie im Auge behalten sollten, zählen Privileged Time und User Time, denn deren Summe ergibt die Processor Time. Die Definitionen sind wie folgt:

  • Privileged Time: Prozentualer Anteil der Zeit, die Prozessoren für die Ausführung von Nicht-Benutzerprozessen (d. h. Kernel-Prozesse) verwenden 
  • User Time: Prozentualer Anteil der Zeit, in der Prozessoren Benutzerprozesse ausführen (z. B. Kommandozeile, E-Mail-Server, Compiler) 
  • Processor Time: Gesamte Zeit, in der die CPU ausgelastet war 

Beachten Sie, dass Werte über 100 % nicht immer auf eine Systemüberlastung hindeuten. Beispielsweise bedeutet dies bei einem Multiprozessorsystem lediglich, dass die Summe aus zwei oder mehr CPUs größer als 100 % ist (z. B. 50 % und 60 %). Überwachen Sie die Einzelwerte, um die Gesundheit des Systems zu gewährleisten. 

Neben der Auslastung von CPU und Festplatte werden auch Wartezeiten als essenzielle Kenngrößen für die Überwachung der Infrastrukturgesundheit und -leistung betrachtet. 

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at anytime.

Wartezeiten 

Wartezeiten geben Ihnen Aufschluss darüber, wie effizient Aufgaben ausgeführt werden, und warnen vor potenziellen Engpässen. Allein das Wissen um die Wartezeiten reicht jedoch nicht. Sie müssen weiter recherchieren, um das genaue Leistungsproblem zu identifizieren. 

Hohe Wartezeiten sind temporär akzeptabel, zum Beispiel wenn Sie gerade rechenintensive Aufgaben ausführen. Alles darüber hinaus ist jedoch in der Regel ein Grund zur Sorge. 

2. Serververfügbarkeit 

Ihr Server ist wertlos, wenn er für Ihre Nutzer nicht erreichbar ist. Daher ist die Überwachung der Serververfügbarkeit unverzichtbar. Sobald Ihre Serververfügbarkeit unter 99,999 % fällt (der als „Five Nines“ bekannte Standard), haben Sie ein ernstes Problem. 

Verwenden Sie die folgenden Formeln, um verständliche und umsetzbare Erkenntnisse aus Ihren Überwachungsaktivitäten zu gewinnen. 

So messen Sie die Server-Verfügbarkeit

Hier sind einige grundlegende Konzepte, die Sie bei der Überwachung der Serververfügbarkeit kennen sollten: 

  • Betriebszeit (Uptime): Die Zeitspanne, in der Ihr Dienst oder Ihre Anwendung aktiv und für Benutzer verfügbar ist. Formel: (Gesamtzeit - Ausfallzeit)/Gesamtzeit 
  • Mittlere Zeit zwischen Ausfällen (MTBF): Die durchschnittliche Zeitspanne zwischen Ausfall-Vorfällen. Formel: (Gesamtzeit - Ausfallzeit)/Anzahl der Ausfallereignisse
  • Mittlere Zeit bis zur Behebung (MTTR): Die durchschnittliche Zeit, die benötigt wird, um einen Ausfall zu beheben. Formel: Gesamtausfallzeit/Anzahl der Ausfallereignisse 
  • Mittlere Zeit zur Bestätigung (MTTA): Die durchschnittliche Zeit, die benötigt wird, um einen aktuellen Ausfall zu bestätigen. Formel: Gesamte Bestätigungszeit/Anzahl der Ausfallereignisse 

All diese Messgrößen helfen dabei, ein Gesamtbild der Zuverlässigkeit Ihrer Infrastruktur und der Reaktionsfähigkeit Ihres Teams zu entwickeln. 

Ein Beispiel: Es ist zwar gut, wenn Sie bei MTTR und MTTA gesunde Werte erreichen. Wenn aber gleichzeitig Ihr MTBF hoch ist, sollten Sie die Ursachen für die Serverausfälle genauer untersuchen. Andernfalls bleibt das Unternehmen einem erheblichen finanziellen Risiko sowie dem Verlust des Nutzervertrauens ausgesetzt. 

Ein Screenshot eines Grafana-Dashboards, eines bekannten Tools zur Überwachung wichtiger Server-Monitoring-Kennzahlen.
Mit einem Server-Monitoring-Tool können Sie die Überwachung der Kennzahlen vereinfachen.

Letztlich müssen Sie das Ziel der „fünf Neunen“ anstreben, was bedeutet, die Ausfallzeit auf höchstens etwa fünf Minuten pro Jahr zu begrenzen. Grafana und Prometheus sind zwei weit empfohlene, benutzerfreundliche und leicht zugängliche Tools für diese Form der Leistungsüberwachung.

3. Transaktionen (und Fehlerraten) 

Sie benötigen ein klares Bild davon, wie viel Verkehr Ihre Infrastruktur zu jedem Zeitpunkt bewältigt. Deshalb ist es wichtig, die Anzahl der Transaktionen–also die Anzahl der Anfragen pro Sekunde–und die entsprechende durchschnittliche Antwortzeit im Auge zu behalten. Diese Informationen helfen Ihnen dabei festzustellen, welche Ressourcen und Kapazitäten notwendig sind, um den Server reibungslos laufen zu lassen. 

Gleichzeitig liefert das Nachverfolgen der Fehlerrate, also des Anteils fehlgeschlagener Anfragen im Verhältnis zur Gesamtanzahl, weitere Erkenntnisse über die Auslastung Ihrer Dienste. Um den Nutzen dieser Kennzahl zu maximieren, sollten Sie über passives Monitoring mit der Zeit einen Vergleichswert (Baseline) entwickeln. 

Dies ist entscheidend, um Trends beobachten zu können. Wenn Sie rückblickend die maximale Auslastung und Ressourcennotwendigkeiten für einen reibungslosen Betrieb erkennen, können Sie proaktiv handeln, diese Anforderungen bereitstellen und Infrastrukturprobleme ausfindig machen, um Fehlerraten zu senken und Ihre durchschnittliche Antwortzeit zu optimieren. 

So überwachen Sie Transaktionen und Fehlerraten 

Nachstehend finden Sie bewährte Tools für passives Leistungs-Monitoring: 

  • Sniffer: Diese Tools sind darauf ausgelegt, Messdaten auf „mikroskopischer Ebene“ zu erfassen, indem sie den Datenverkehr auf kabelgebundenen und drahtlosen Netzwerken „belauschen“. Wireshark ist ein anerkannter Standard dafür und sammelt Daten zu Attributen wie Zeitstempel, MAC- und IP-Adresse, Time to Live und mehr. Die Tools können online oder offline genutzt werden. 
  • Protokollierungsfunktionen: Diese sind in der Regel in Betriebssysteme und Anwendungen integriert. Sie sammeln hauptsächlich Informationen über Aktivitäten und Ereignisse, die von Anwendungen generiert werden, zur anschließenden Offline-Verwendung. 

Eines der Top-Ten-Server-Monitoring-Tools fürs Web, das sich besonders gut zur Überwachung von Transaktionen eignet, ist Monitis. Dabei handelt es sich um ein All-in-One-Monitoring-System für Server, Websites und Anwendungen. Es eignet sich sowohl für Windows- als auch für Linux-Systeme und ist ideal, um Grundlagen wie etwa die Betriebszeit (Uptime) abzudecken. 

Ziel und Zweck der Überwachungsaktivitäten beeinflussen die konkreten Messgrößen und die Nutzung dieser Methoden. 

Weitere Kennzahlen zur Überwachung von Transaktionen 

Antwortzeit und Gesamtanzahl der Threads stehen in direktem Zusammenhang mit Transaktionen. Sie zeigen an, wie lange Ihr Server für eine Antwort auf eine Anfrage benötigt und wie viele Threads (die die Transaktionen abwickeln) zum Bearbeiten aller Anfragen verwendet werden. 

Jeder Thread verbraucht CPU-Zeit und RAM. Zu viele Threads können zu einer schlechteren Performance führen. Es gibt dabei einiges zu überwachen, einschließlich: 

  • Die Gesamtzahl der Threads in einem Webserver- oder Container-Pool, einschließlich folgender Typen:
    • Aktiv 
    • Leerlauf 
    • Blockiert 
    • Standby 
  • Ausstehende Benutzeranfragen und Warteschlangenlänge 

Die Server-Antwortzeit kann typischerweise als Zeit bis zum ersten Byte (TTFB) gemessen werden. Damit ist die Anzahl der Millisekunden gemeint, die ein Browser benötigt, um das erste Byte einer Serverantwort zu empfangen. Allgemein gilt: Alles, was länger als fünf Sekunden dauert, ist kritisch. 

Die richtigen Kennzahlen für das Server-Performance-Monitoring wählen

Es gibt eine lange Liste von Kennzahlen, die Sie zur Überwachung der Gesundheit und Leistung Ihres Servers beobachten könnten, aber die konkreten Zielwerte hängen in erster Linie vom Zweck Ihrer Monitoring-Aktivitäten ab. 

Während sich einige Kennzahlen besonders für Einblicke in die Belastbarkeit Ihrer Hardware und Ihres Betriebssystems eignen, sind andere ideal, um die Benutzeraktivität zu beobachten. Unabhängig davon sind CPU-Auslastung, Verfügbarkeit (Uptime) und Transaktionen grundlegende Werte, die nicht vernachlässigt werden dürfen. 

Wenn Sie in Ihrer Position als QA Lead voranschreiten und sich Ihre Ziele zwangsläufig ändern, werden Sie zweifellos weitere Kennzahlen zum Server-Monitoring zu Ihrem Dashboard hinzufügen. Für weitere Einblicke von Experten, welche das sein sollten und wie diese zu verwalten sind, abonnieren Sie den Newsletter