Die Leistungsoptimierung beginnt mit der Ermittlung wichtiger Messwerte, die in der Regel mit Latenz und Durchsatz zusammenhängen. Durch das Hinzufügen von Monitoring zur Erfassung und Verfolgung dieser Messwerte werden Schwachstellen in der Anwendung sichtbar. Mithilfe von Messwerten kann die Optimierung vorgenommen werden, um die Leistungsmesswerte zu verbessern.
Außerdem können Sie in vielen Monitoring-Tools Benachrichtigungen für Ihre Messwerte einrichten, damit Sie benachrichtigt werden, wenn ein bestimmter Grenzwert erreicht wird. Sie können beispielsweise eine Benachrichtigung einrichten, um informiert zu werden, wenn der Prozentsatz der fehlgeschlagenen Anfragen um mehr als x% über dem normalen Niveau liegt. Monitoring-Tools können Ihnen helfen, die normale Leistung zu ermitteln und ungewöhnliche Spitzen bei Latenz, Fehleranzahl und anderen wichtigen Messwerten zu erkennen. Die Möglichkeit, diese Messwerte zu beobachten, ist besonders wichtig in geschäftskritischen Zeiträumen oder nachdem neuer Code in der Produktion bereitgestellt wurde.
Latenzmesswerte ermitteln
Achten Sie darauf, dass die UI so reaktionsschnell wie möglich ist. Nutzer haben bei mobilen Apps noch höhere Erwartungen. Die Latenz sollte auch für Back-End-Dienste gemessen und verfolgt werden, da sie andernfalls zu Problemen mit dem Durchsatz führen kann.
Folgende Messwerte sollten Sie im Blick behalten:
- Anfragedauer
- Anfragedauer auf Subsystemebene (z. B. API-Aufrufe)
- Jobdauer
Messwerte für den Durchsatz 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 beeinträchtigt werden. Daher müssen Sie möglicherweise die Latenz optimieren, um den Durchsatz zu verbessern.
Hier sind einige Vorschläge für Messwerte, die Sie im Blick behalten sollten:
- Abfragen pro Sekunde
- Übertragene Datenmenge pro Sekunde
- Anzahl der E/A-Vorgänge pro Sekunde
- Ressourcennutzung, 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 (Durchschnitt) zu betrachten. Das ist zwar nützlich, gibt aber keinen Aufschluss über die Verteilung der Latenz. Ein besserer Messwert ist das Leistungsperzentil, z. B. das 50., 75., 90. oder 99. Perzentil für einen Messwert.
Im Allgemeinen kann die Optimierung in zwei Schritten erfolgen. Optimieren Sie zuerst die Latenz des 90. Perzentils. Berücksichtigen Sie dann das 99. Perzentil, auch als Tail-Latenz bezeichnet. Das ist der kleine Teil der Anfragen, deren Verarbeitung viel länger dauert.
Serverseitiges Monitoring für detaillierte Ergebnisse
Serverseitiges Profiling wird im Allgemeinen für die Verfolgung von Messwerten bevorzugt. Die Serverseite ist in der Regel viel einfacher zu instrumentieren, ermöglicht den Zugriff auf detailliertere Daten und ist weniger anfällig für Störungen durch Verbindungsprobleme.
Browser-Monitoring für End-to-End-Transparenz
Browser-Profiling kann zusätzliche Einblicke in die Nutzererfahrung liefern. Es kann zeigen, auf welchen Seiten langsame Anfragen auftreten, die Sie dann mit dem serverseitigen Monitoring korrelieren können, um weitere Analysen durchzuführen.
Google Analytics bietet standardmäßig Monitoring für Seitenlade zeiten im Bericht zu Seiten-Timings. Dieser Bericht enthält mehrere nützliche Ansichten, um die Nutzererfahrung auf Ihrer Website zu verstehen, 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 beobachten können. Sie können beispielsweise Google Cloud Logging verwenden, um Leistungsmesswerte in Ihrem Google Cloud-Projekt zu protokollieren, und dann Dashboards in Google Cloud Monitoring einrichten, um die protokollierten Messwerte zu beobachten und zu segmentieren.
Im Logging-Leitfaden finden Sie ein Beispiel für das Logging in Google Cloud Logging über einen benutzerdefinierten Interceptor in der Python-Clientbibliothek. Mit diesen Daten in Google Cloud können Sie Messwerte auf Grundlage der protokollierten Daten erstellen, um mit Google Cloud Monitoring Einblicke in Ihre Anwendung zu erhalten. Folgen Sie der Anleitung für benutzerdefinierte logbasierte Messwerte, um Messwerte aus den Logs zu erstellen, die an Google Cloud Logging gesendet werden.
Alternativ können Sie die Monitoring-Client-Bibliotheken 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 beobachten, um die Fehlerraten in Ihrer Anwendung besser zu verstehen. Sie können den Wert is_fault aus den Logs
in einen neuen Zählermesswert extrahieren: ErrorCount.


In Cloud Logging können Sie mit Labels Ihre Messwerte anhand anderer Daten in den Logs in Kategorien gruppieren. Sie können ein Label für das method
Feld konfigurieren, das an Cloud Logging gesendet wird, um zu sehen, wie sich die Fehleranzahl nach der Google Ads API-Methode aufschlüsselt.
Mit dem konfigurierten Messwert ErrorCount und dem Label Method können Sie ein neues Diagramm in einem Monitoring-Dashboard erstellen, um ErrorCount gruppiert nach Method zu beobachten.

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.