Monitoring

Die Leistungsoptimierung beginnt mit der Identifizierung wichtiger Messwerte, die sich in der Regel auf Latenz und Durchsatz beziehen. Durch das zusätzliche Monitoring zur Erfassung und Verfolgung dieser Messwerte werden Schwachstellen in der Anwendung aufgedeckt. Messwerte können optimiert werden, um die Leistungsmesswerte zu verbessern.

Darüber hinaus können Sie mit vielen Monitoring-Tools Benachrichtigungen für Ihre Messwerte einrichten, sodass Sie benachrichtigt werden, wenn ein bestimmter Grenzwert erreicht wird. Sie können beispielsweise eine Benachrichtigung einrichten, die Sie informiert, wenn der Prozentsatz der fehlgeschlagenen Anfragen um mehr als x% des normalen Werts ansteigt. Mit Monitoringtools können Sie die normale Leistung ermitteln und ungewöhnliche Spitzen bei der Latenz, Fehlermengen und anderen wichtigen Messwerten erkennen. Die Möglichkeit, diese Messwerte zu überwachen, ist besonders in geschäftskritischen Zeiträumen oder nach der Bereitstellung von neuem Code für die Produktion wichtig.

Latenzmetriken identifizieren

Achten Sie darauf, dass Ihre UI so reaktionsschnell wie möglich ist. Beachten Sie dabei, dass Nutzer noch höhere Standards von mobilen Apps erwarten. Die Latenz sollte auch für Back-End-Dienste gemessen und verfolgt werden, insbesondere da sie zu Durchsatzproblemen führen kann, wenn sie deaktiviert bleibt.

Folgende Messwerte sollten Sie beobachten:

  • Anfragedauer
  • Anfragedauer mit Subsystem-Detaillierungsgrad (z. B. API-Aufrufe)
  • Jobdauer

Durchsatzmesswerte ermitteln

Der Durchsatz ist ein Maß für die Gesamtzahl der Anfragen, die über einen bestimmten Zeitraum verarbeitet wurden. Der Durchsatz kann von der Latenz der Subsysteme beeinflusst werden. Daher müssen Sie möglicherweise die Latenz optimieren, um den Durchsatz zu verbessern.

Hier sind einige empfohlene Messwerte:

  • Abfragen pro Sekunde
  • Größe der pro Sekunde übertragenen Daten
  • Anzahl der E/A-Vorgänge pro Sekunde
  • Ressourcenauslastung, z. B. CPU- oder Arbeitsspeichernutzung
  • Größe des Verarbeitungsrückstands, z. B. Pub/Sub oder Anzahl der Threads

Nicht nur der Mittelwert

Ein häufiger Fehler bei der Leistungsmessung besteht darin, nur den Mittelwert (Durchschnittswert) zu betrachten. Dies ist zwar nützlich, bietet jedoch keinen Einblick in die Verteilung der Latenz. Ein besserer zu verfolgender Messwert sind die Leistungsperzentile, z. B. das 50./75./90./99. Perzentil für einen Messwert.

In der Regel erfolgt die Optimierung in zwei Schritten. Optimieren Sie zuerst die Latenz für das 90. Perzentil. Berücksichtigen Sie dann das 99. Perzentil – auch als Extremwertlatenz bezeichnet – den kleinen Teil der Anfragen, deren Ausführung viel länger dauert.

Serverseitiges Monitoring für detaillierte Ergebnisse

Die serverseitige Profilerstellung wird im Allgemeinen für das Tracking von Messwerten bevorzugt. Die Serverseite ist in der Regel viel einfacher zu instrumentieren, ermöglicht den Zugriff auf detailliertere Daten und ist weniger durch Verbindungsprobleme beeinträchtigt.

Browser-Monitoring für durchgängige Transparenz

Browserprofile können zusätzliche Einblicke in die Nutzerfreundlichkeit bieten. Sie können sehen, auf welchen Seiten langsame Anfragen eingehen, und diese dann zur weiteren Analyse mit dem serverseitigen Monitoring in Beziehung setzen.

Google Analytics bietet im Bericht zum Seitentiming ein sofort einsatzfähiges Monitoring der Seitenladezeiten. Es bietet mehrere hilfreiche Ansichten, mit denen Sie die Nutzererfahrung auf Ihrer Website nachvollziehen können, insbesondere:

  • Seitenladezeiten
  • Ladezeiten bei Weiterleitungen
  • Serverantwortzeiten

Monitoring in der Cloud

Es gibt viele Tools, mit denen Sie Leistungsmesswerte für Ihre Anwendung erfassen und überwachen können. Sie können beispielsweise mit Google Cloud Logging Leistungsmesswerte in Ihrem Google Cloud-Projekt protokollieren und dann Dashboards in Google Cloud Monitoring einrichten, um die protokollierten Messwerte zu überwachen und zu segmentieren.

In der Logging-Anleitung finden Sie ein Beispiel für das Logging eines benutzerdefinierten Abfangendes in der Python-Clientbibliothek in Google Cloud Logging. Wenn diese Daten in Google Cloud verfügbar sind, können Sie zusätzlich zu den protokollierten Daten Messwerte erstellen, um über Google Cloud Monitoring Einblick in Ihre Anwendung zu erhalten. Folgen Sie dem Leitfaden zu benutzerdefinierten logbasierten Messwerten, um anhand der an Google Cloud Logging gesendeten Logs Messwerte zu erstellen.

Alternativ können Sie mithilfe der Monitoring-Clientbibliotheken Messwerte in Ihrem Code definieren und getrennt von den Logs direkt an Monitoring senden.

Beispiel für logbasierte Messwerte

Angenommen, Sie möchten den Wert is_fault überwachen, um die Fehlerraten in Ihrer Anwendung besser zu verstehen. Sie können den Wert is_fault aus den Logs in den neuen Zählermesswert ErrorCount extrahieren.

Messwertkonfiguration

Filter und Labels in Messwerten

In Cloud Logging können Sie Messwerte anhand von Labels anhand anderer Daten in den Logs in Kategorien gruppieren. Sie können ein Label für das an Cloud Logging gesendete Feld method konfigurieren, um zu sehen, wie die Fehleranzahl von der Google Ads API-Methode aufgeschlüsselt wird.

Wenn Sie den Messwert ErrorCount und das Label Method konfiguriert haben, können Sie ein neues Diagramm in einem Monitoring-Dashboard erstellen, um ErrorCount gruppiert nach Method zu überwachen.

ErrorCount-Dashboard

Benachrichtigungen

In Cloud Monitoring und anderen Tools können Sie Benachrichtigungsrichtlinien konfigurieren, die festlegen, wann und wie Benachrichtigungen durch Ihre Messwerte ausgelöst werden sollen. Eine Anleitung zum Einrichten von Cloud Monitoring-Benachrichtigungen finden Sie in der Benachrichtigungsanleitung.