Auf dieser Seite wird beschrieben, wie Sie die maximale Verzögerungszeit für Commits (Schreibvorgänge) für den Schreibdurchsatz in Spanner zu optimieren.
Übersicht
Um die Datenkonsistenz zu gewährleisten, sendet Spanner Schreibanfragen an alle votierenden Replikate in der Datenbank. Dieser Replikationsprozess kann Rechenleistung. Weitere Informationen finden Sie unter Replikation:
Durch durchsatzoptimierte Schreibvorgänge können diese Berechnungen amortisiert werden. durch die gemeinsame Ausführung einer Gruppe von Schreibvorgängen. Gehen Sie dazu wie folgt vor: Spanner führt eine kleine Verzögerung ein und erfasst eine Gruppe von Schreibvorgängen die an dieselben abstimmbaren Teilnehmer gesendet werden müssen. Schreibvorgänge ausführen in diesem kann den Durchsatz auf Kosten von etwas zu einer erhöhten Latenz.
Standardverhalten
Wenn Sie keine Commit-Verzögerungszeit festlegen, legt Spanner möglicherweise eine wenn davon auszugehen ist, dass sich die Kosten für Ihre Schreibvorgänge amortisieren lassen.
Gängige Anwendungsfälle
Sie können die Verzögerungszeit Ihrer Schreibanfragen abhängig von Ihren Anforderungen der Anwendung. Sie können Commit-Verzögerungen auch für Anwendungen deaktivieren, hoch latenzempfindlich sein, indem die maximale Commit-Verzögerungszeit auf 0 ms festgelegt wird.
Wenn Sie eine latenztolerante Anwendung haben und den Durchsatz optimieren möchten, Eine längere Commit-Verzögerungszeit verbessert den Durchsatz erheblich, während und führt zu höherer Latenz bei jedem Schreibvorgang. Wenn Sie zum Beispiel eine große Datenmengen übertragen, und für die Anwendung ist es nicht wichtig, wie schnell Spanner schreibt einzelne Daten. Dann können Sie den Commit festlegen. auf einen längeren Wert wie 100 ms. Wir empfehlen, mit einer und dann nach oben und unten anpassen, bis die Kompromisse bei Latenz und Durchsatz Ihre Anforderungen erfüllen. Bei den meisten Anwendungen kann ein Wert zwischen 20 ms und 100 ms ist am besten geeignet.
Wenn Sie eine latenzempfindliche Anwendung haben, latenzempfindlich sind. Bei einer Arbeitslast mit Lastspitzen Spanner kann eine kleine Verzögerung festlegen. Sie können mit der Einrichtung eines von 0 ms, um zu ermitteln, ob die reduzierte Latenz auf Kosten einer erhöhten für Ihre Anwendung angemessen ist.
Gemischte Verzögerungszeiten für Commits festlegen
Sie können verschiedene maximale Commit-Verzögerungszeiten für Teilmengen Ihrer Schreibvorgänge konfigurieren. In diesem Fall verwendet Spanner die kürzeste konfigurierte Verzögerungszeit für den Satz von Schreibvorgängen. Wir empfehlen jedoch, für die meisten Anwendungsfälle einen einzelnen Wert auszuwählen. da dies zu vorhersehbarem Verhalten führt.
Beschränkungen
Sie können eine Commit-Verzögerung zwischen 0 und 500 ms festlegen. Commit-Verzögerungen festlegen über 500 ms führt zu einem Fehler.
Maximale Commit-Verzögerung für Commit-Anfragen festlegen
Der Parameter für die maximale Commit-Verzögerung ist Teil der Methode CommitRequest
. Sie haben Zugriff auf
Methode mit der RPC API
REST API
oder die Cloud Spanner-Clientbibliothek verwenden.
Go
Node.js
Python
Ruby
Latenz von Schreibanfragen überwachen
Sie können die CPU-Auslastung und -Latenz von Spanner mit der Google Cloud Console Wenn Sie eine längere Verzögerungszeit für Ihre Schreibanfragen festlegen, ist mit einer potenziellen CPU-Auslastung zu rechnen nimmt, während die Latenz zunimmt. Um mehr über die Latenz Spanner-Anfragen, siehe Latenz von Spanner API-Anfragen erfassen und visualisieren