Kunde: ClientWrite - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kunde: ClientWrite

Das Client:ClientWrite-Ereignis tritt auf, wenn Aurora PostgreSQL darauf wartet, Daten an den Client zu schreiben.

Unterstützte Engine-Versionen

Diese Warteereignisinformationen werden für Aurora PostgreSQL Version 10 und höher unterstützt.

Kontext

Ein Clientprozess muss alle Daten lesen, die von einem Aurora PostgreSQL DB-Cluster empfangen wurden, bevor der Cluster weitere Daten senden kann. Die Zeit, die der Cluster wartet, bevor weitere Daten an den Client gesendet werden, ist ein Client:ClientWrite-Ereignis.

Ein reduzierter Netzwerkdurchsatz zwischen dem Aurora PostgreSQL DB-Cluster und dem Client kann dieses Ereignis verursachen. CPU-Druck und Netzwerksättigung auf dem Client können dieses Ereignis ebenfalls verursachen. CPU-Druck liegt vor, wenn die CPU voll ausgelastet ist und Aufgaben auf CPU-Zeit warten. Eine Netzwerksättigung liegt vor, wenn das Netzwerk zwischen Datenbank und Client mehr Daten überträgt, als es verarbeiten kann.

Wahrscheinliche Ursachen für erhöhte Wartezeiten

Häufige Gründe dafür, dass das Client:ClientWrite-Ereignis in den Top-Wartezeiten angezeigt wird, sind die folgenden:

Erhöhte Netzwerklatenz

Es kann zu einer erhöhten Netzwerklatenz zwischen dem Aurora PostgreSQL-DB-Cluster und dem Client kommen. Eine höhere Netzwerklatenz erhöht die Zeit, die der Client benötigt, um die Daten zu empfangen.

Erhöhte Belastung des Clients

Auf dem Client kann es zu CPU-Druck oder Netzwerksättigung kommen. Eine Erhöhung der Belastung des Clients verzögert den Empfang von Daten aus dem Aurora PostgreSQL DB-Cluster.

Große Datenmenge, die an den Kunden gesendet werden

Der Aurora PostgreSQL DB-Cluster sendet möglicherweise eine große Datenmenge an den Client. Ein Client kann die Daten möglicherweise nicht so schnell empfangen, wie der Cluster sie sendet. Aktivitäten wie das Kopieren einer großen Tabelle können zu einer Zunahme von Client:ClientWrite-Ereignissen führen.

Aktionen

Abhängig von den Ursachen Ihres Warteereignisses empfehlen wir verschiedene Aktionen.

Platzieren Sie die Clients im selben Availability Zone- und VPC-Subnetz wie der Cluster

Um die Netzwerklatenz zu reduzieren und den Netzwerkdurchsatz zu erhöhen, platzieren Sie Clients in dieselbe Availability Zone und Virtual Private Cloud (VPC) -Subnetz wie der Aurora PostgreSQL DB-Cluster.

Instances der aktuellen Generation verwenden

In einigen Fällen verwenden Sie möglicherweise keine DB-Instance-Klasse, die Jumbo-Frames unterstützt. Wenn Sie Ihre Anwendung auf Amazon EC2 ausführen, sollten Sie eine Instance der aktuellen Generation für den Client verwenden. Konfigurieren Sie außerdem die maximale Übertragungseinheit (MTU) im Kundenvorgangssystem Diese Technik könnte die Anzahl der Netzläufe reduzieren und den Netzwerkdurchsatz erhöhen. Weitere Informationen finden Sie unter Jumbo Frames (9001 MTU) im Amazon EC2 EC2-Benutzerhandbuch.

Weitere Informationen zu DB-Instance-Klassen finden Sie unter Aurora DB-Instance-Klassen. Um die DB-Instance-Klasse zu bestimmen, die einem Amazon EC2-Instance-Typ entspricht, platzieren Sie db. vor dem Namen des Amazon EC2-Instance-Typs. Beispielsweise entspricht die r5.8xlarge-Amazon EC2-Instance der db.r5.8xlarge-DB-Instance-Klasse.

Reduzieren Sie die an den Kunden gesendeten Daten

Passen Sie Ihre Anwendung nach Möglichkeit an, um die Datenmenge zu reduzieren, die der Aurora PostgreSQL DB-Cluster an den Client sendet. Solche Anpassungen entlasten die CPU- und Netzwerkkonflikte auf dem Client.

Skalieren Sie Ihren -C

Ermitteln Sie anhand von Amazon CloudWatch oder anderen Host-Metriken, ob Ihr Client derzeit durch CPU- oder Netzwerkbandbreite oder beides eingeschränkt ist. Wenn der Kunde eingeschränkt ist, skalieren Sie Ihren Kunden entsprechend.