Monitoring

Die Leistungsoptimierung beginnt mit der Identifizierung der wichtigsten Messwerte, die sich in der Regel mit der Latenz und dem Durchsatz zusammenhängen. Das zusätzliche Monitoring zum Erfassen und Verfolgen dieser Messwerte zeigt Schwachstellen in der Anwendung auf. Mit Messwerten lassen sich die Leistungsmesswerte verbessern.

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

Latenzmesswerte identifizieren

Achten Sie darauf, dass die Benutzeroberfläche so schnell wie möglich reagiert. Nutzer erwarten von mobilen Apps sogar noch höhere Standards. Die Latenz sollte auch für Back-End-Dienste gemessen und verfolgt werden, insbesondere da sie zu Durchsatzproblemen führen kann, wenn sie nicht aktiviert ist.

Hier einige Beispiele für Messwerte:

  • Dauer der Anfrage
  • Anfragedauer auf Subsystem-Detaillierungsgrad (z. B. API-Aufrufe)
  • Jobdauer

Durchsatzmesswerte ermitteln

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

Hier einige Messwerte, die Sie beobachten sollten:

  • Abfragen pro Sekunde
  • Größe der pro Sekunde übertragenen Daten
  • Anzahl der E/A-Vorgänge pro Sekunde
  • Ressourcenauslastung wie 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, sich nur der Mittelwert (durchschnittlich) anzusehen. Dies ist zwar nützlich, bietet jedoch keinen Einblick in die Verteilung der Latenz. Ein besserer Messwert für die Nachverfolgung sind die Leistungsperzentile, z. B. das 50./75./90./99. Perzentil eines Messwerts.

Im Allgemeinen kann die Optimierung in zwei Schritten erfolgen. Optimieren Sie zuerst die Latenz für das 90. Perzentil. Denken Sie dann an das 99. Perzentil, das auch als Extremwertlatenz bezeichnet wird. Es handelt sich dabei um den kleinen Teil der Anfragen, deren Verarbeitung 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 unterliegt weniger Störungen durch Verbindungsprobleme.

Browserüberwachung für durchgängige Transparenz

Die Browserprofilerstellung kann zusätzliche Einblicke in die Endnutzererfahrung bieten. Sie können damit anzeigen, welche Seiten langsame Anfragen haben, die Sie dann zur weiteren Analyse mit dem serverseitigen Monitoring in Beziehung setzen können.

Google Analytics bietet ein sofort einsetzbares Monitoring der Seitenladezeiten im Bericht zur Seitentiming. Dadurch erhalten Sie mehrere nützliche Ansichten zum Verständnis der Nutzererfahrung auf Ihrer Website, insbesondere:

  • Seitenladezeiten
  • Ladezeiten für Weiterleitungen
  • Serverantwortzeiten

Monitoring in der Cloud

Es gibt viele Tools, mit denen Sie Leistungsmesswerte für Ihre Anwendung erfassen und überwachen können. Mit Google Cloud Logging können Sie beispielsweise 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 von einem benutzerdefinierten Interceptor in der Python-Clientbibliothek in Google Cloud Logging. Wenn diese Daten in Google Cloud verfügbar sind, können Sie zu den protokollierten Daten Messwerte hinzufügen, um über Google Cloud Monitoring einen Einblick in Ihre Anwendung zu erhalten. Folgen Sie der Anleitung zu benutzerdefinierten logbasierten Messwerten, um Messwerte anhand der an Google Cloud Logging gesendeten Logs zu erstellen.

Alternativ können Sie die Monitoring-Clientbibliotheken verwenden, um Messwerte in Ihrem Code zu definieren und sie getrennt von den Logs direkt an Monitoring zu 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 Ihre Messwerte mit Labels anhand anderer Daten in den Logs in Kategorien gruppieren. Sie können ein Label für das an Cloud Logging gesendete method-Feld konfigurieren, um zu sehen, wie die Fehleranzahl nach der Google Ads API-Methode aufgeschlüsselt wird.

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

ErrorCount-Dashboard

Benachrichtigungen

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