Auf dieser Seite wird beschrieben, was verwaltetes Verbindungspooling ist und wie Sie es mit Ihren Cloud SQL-Instanzen verwenden.
Mit dem verwalteten Verbindungspool können Sie Ihre Arbeitslasten skalieren, indem Sie die Ressourcennutzung und die Verbindungslatenz für Ihre Cloud SQL for PostgreSQL-Instanzen mithilfe des Poolings optimieren. Beim verwalteten Verbindungs-Pooling werden eingehende Anfragen nach Möglichkeit dynamisch Serververbindungen zugewiesen. Dies führt zu erheblichen Leistungsverbesserungen, insbesondere bei skalierten Verbindungen, da plötzliche Verbindungsspitzen abgefangen und vorhandene Datenbankverbindungen wiederverwendet werden. Anstatt eine Verbindung zu einer bestimmten Datenbank herzustellen, wird beim verwalteten Verbindungs-Pooling eine Verbindung zu einem Cluster von Pools hergestellt, was kürzere Verbindungszeiten und Skalierbarkeit für Ihre Arbeitslasten ermöglicht. Die Anzahl der verwendeten Pools hängt von der Anzahl der vCPU-Kerne Ihrer Instanz ab.
Sie können den verwalteten Verbindungspool für alle transaktionalen Arbeitslasten verwenden. Er bietet jedoch den größten Durchsatz- und Latenzvorteil bei Anwendungen mit kurzlebigen Verbindungen oder Anwendungen, die zu einem Anstieg der Verbindungen führen.
Bei langlebigen Verbindungen kann die Verbindungsleistung mit verwaltetem Verbindungs-Pooling etwas niedriger sein als bei einer direkten Verbindung. In diesem Fall bietet das verwaltete Verbindungs-Pooling eine Verbindungsskalierung, wenn die Anzahl der Verbindungen sehr hoch ist. Bei Anwendungen, die in der Regel langlebige Verbindungen herstellen, können Sie stattdessen direkte Verbindungen zu Ihrer Instanz verwenden.
Weitere Informationen zum Aktivieren des verwalteten Verbindungs-Poolings finden Sie unter Verwaltetes Verbindungs-Pooling konfigurieren.
Voraussetzungen
Damit Sie das verwaltete Verbindungs-Pooling verwenden können, muss Ihre Instanz die folgenden Anforderungen erfüllen:
- Ihre Instanz muss eine Cloud SQL Enterprise Plus-Instanz sein.
- Sie müssen eine direkte Verbindung oder ausschließlich den Cloud SQL Auth-Proxy verwenden, um eine Verbindung zu Ihrer Instanz herzustellen.
- Sie müssen mit einem gültigen Nutzernamen und Passwort mit Ihrer Instanz verbunden sein. IAM- und IAM-Gruppennutzer werden bei der Verwendung des verwalteten Verbindungspools nicht unterstützt.
- Ihre Instanz muss entweder für den Zugriff auf private Dienste eingerichtet sein, eine öffentliche IP-Adresse verwenden oder eine neue Instanz sein, für die Private Service Connect aktiviert ist.
- Ihre Instanz muss die neue Cloud SQL-Netzwerkarchitektur verwenden.
- Für das verwaltete Verbindungs-Pooling ist mindestens die Wartungsversion
POSTGRES_$version.R20250302.00_04
erforderlich. Weitere Informationen finden Sie unter Wartung per Selfservice.
Verfügbare Konfigurationsoptionen
Das verwaltete Verbindungs-Pooling bietet die folgenden Pooling-Optionen, die Sie mit dem Parameterpool_mode
festlegen können:
transaction
(Standard): Verbindungen werden auf Transaktionsebene gruppiert.session
: Verbindungen auf Sitzungsebene gruppiert.
Sie können das Verwaltete Verbindungs-Pooling auch mithilfe der folgenden Konfigurationsparameter anpassen:
max_pool_size
: die maximale Größe des Verbindungspools. Der Standardwert ist 50 Verbindungen.min_pool_size
: die Grenzgröße des Verbindungspools. Wenn die Anzahl der Serververbindungen untermin_pool_size
liegt, fügen Sie dem Pool weitere Serververbindungen hinzu. Der Standardwert ist „0 Verbindungen“.max_client_connections
: Die maximale Anzahl von Verbindungen, die für Ihre Instanz zulässig ist. Der Standardwert ist 5.000 Verbindungen.client_connection_idle_timeout
: Die Zeit, in der eine Clientverbindung inaktiv bleibt, bevor eine Zeitüberschreitung auftritt. Dieser Wert kann zwischen 0 und 2.147.483 Sekunden liegen. Der Standardwert ist 0 Sekunden.server_connection_idle_timeout
: Die Zeit, in der eine Serververbindung inaktiv bleibt, bevor eine Zeitüberschreitung auftritt. Dieser Wert kann zwischen 0 und 2.147.483 Sekunden liegen. Der Standardwert ist 600 Sekunden.query_wait_timeout
: Die Zeit, die eine Abfrage wartet, bis die Zeitüberschreitung auftritt. Dieser Wert kann zwischen 0 und 2.147.483 Sekunden liegen. Der Standardwert beträgt 120 Sekunden.max_prepared_statements
: Die maximale Anzahl von Befehlen für benannte vorbereitete Anweisungen auf Protokollebene, die im Modus für das Transaktions-Pooling unterstützt werden. Der Standardwert ist 0.ignore_startup_parameters
: Die Parameter, die ignoriert werden sollen und standardmäßig nicht in den Startpaketen des verwalteten Verbindungspools erfasst werden.server_lifetime
: Die maximale Zeit, in der eine Serververbindung nicht verwendet wird, bevor sie vom verwalteten Verbindungspool geschlossen wird. Der Standardwert beträgt 3.600 Sekunden.
Beschränkungen
Beachten Sie die folgenden Einschränkungen, wenn Sie das verwaltete Verbindungspoolen mit Ihren Cloud SQL Enterprise Plus-Instanzen verwenden:
- Wenn Sie das verwaltete Verbindungs-Pooling für eine vorhandene Instanz aktivieren, wird die Datenbank neu gestartet.
- Wenn Sie das verwaltete Verbindungs-Pooling mit der Cloud SQL API aktivieren, deaktivieren oder konfigurieren, darf die
instance.update
API keine anderen Aktualisierungen der Instanzkonfiguration enthalten. - Das verwaltete Verbindungspool kann nur mit Cloud SQL Auth Proxy Version 2.15.2 und höher verwendet werden.
- Wenn Sie den Cloud SQL Go Language Connector verwenden, empfehlen wir mindestens Version
1.24
von Go. Wenn Sie Go-Version 1.23 oder älter verwenden, kann es bei der Verwendung des verwalteten Verbindungspools zu Leistungseinbußen kommen. Wenn Sie das verwaltete Verbindungspooling im
transaction
-Pooling-Modus verwenden, werden die folgenden SQL-Funktionen nicht unterstützt:SET/RESET
LISTEN
WITH HOLD CURSOR
PREPARE/DEALLOCATE
PRESERVE/DELETE ROW
Temporäre TabellenLOAD
- Warnende Sperren auf Sitzungsebene
Wenn Sie Cloud SQL for PostgreSQL Version 17 verwenden, wird die Option
sslnegotiation=direct
nicht unterstützt.