Auf dieser Seite erfahren Sie, wie Sie das Standardzeitlimit überschreiben konfigurieren und eine Wiederholungsrichtlinie mithilfe von Spanner konfigurieren Clientbibliotheken.
Die Clientbibliotheken verwenden die Standardeinstellungen für Zeitlimits und Wiederholungsversuche, die in den folgenden Konfigurationsdateien definiert sind.
- spanner_grpc_service_config.json
- spanner_admin_instance_grpc_service_config.json
- spanner_admin_database_grpc_service_config.json
In den Konfigurationsdateien wird die Standardzeitüberschreitung für Vorgänge festgelegt, die eine kurze
Zeit, z. B. CreateSession
, beträgt 30 Sekunden. Längere Vorgänge wie
wie Abfragen oder Lesevorgänge, haben ein Standardzeitlimit von 3.600 Sekunden. Wir empfehlen die Verwendung von
diese Standardeinstellungen. Sie können jedoch eine benutzerdefinierte Zeitüberschreitungs- oder Wiederholungsrichtlinie in Ihrem
an.
Wenn Sie das Zeitlimit ändern möchten, legen Sie es auf die tatsächliche Zeit fest, die die Anwendung für das Ergebnis benötigt.
Konfigurieren Sie keine Wiederholungsrichtlinie, die strenger als die Standardrichtlinie ist, da zu viele Wiederholungsversuche das Back-End überlasten und Ihre Anfragen drosseln könnten.
Für jedes Snippet ist eine Wiederholungsrichtlinie definiert, die Folgendes enthält: Eigenschaften:
- Die anfängliche oder Startwartezeit, bevor die Anfrage wiederholt wird.
- Maximale Verzögerung.
- Multiplikator für die vorherige Wartezeit zur Berechnung der nächsten Wartezeit bis das Maximum erreicht ist.
- Eine Reihe von Fehlercodes für Wiederholungsvorgänge.
Im folgenden Beispiel wird ein Zeitlimit von 60 Sekunden für den jeweiligen Vorgang festgelegt.
Wenn der Vorgang länger dauert als diese Zeitüberschreitung, schlägt er mit einer Meldung fehl:
DEADLINE_EXCEEDED
Fehler.
Wenn der Vorgang mit einem UNAVAILABLE
-Fehlercode fehlschlägt, z. B. bei einem vorübergehenden Netzwerkproblem, wird er wiederholt. Der Kunde
wartet 500 ms, bevor der erste Wiederholungsversuch gestartet wird. Wenn der erste Wiederholungsversuch
schlägt er 1,5 × 500 ms = 750 ms vor, bevor der zweite
noch einmal versuchen. Diese Wiederholungsverzögerung erhöht sich, bis der Vorgang entweder
erfolgreich ist oder die maximale Wiederholungsverzögerung von 16 Sekunden erreicht. Der Vorgang schlägt fehl
mit einem DEADLINE_EXCEEDED
-Fehler, wenn die Gesamtzeit, die für das Testen des
Vorgang überschreitet das Gesamtzeitlimit von 60 Sekunden.