Freigeben über


Verbindungspooling

Das Herstellen einer Verbindung mit einer Datenquelle kann zeitaufwändig sein. Um die Kosten für das Öffnen von Verbindungen zu minimieren, verwendet ADO.NET eine Optimierungsmethode, die Verbindungspoolinggenannt wird, wodurch die Kosten für wiederholtes Öffnen und Schließen von Verbindungen minimiert werden. Für .NET Framework-Datenanbieter wird Verbindungspooling unterschiedlich gehandhabt. Während das Verbindungspooling die Leistung und die Ressourcenauslastung verbessert, können mehrere Faktoren die Effizienz je nach Datenbankumgebung und Konfiguration beeinflussen.

  • Verbindungsbeschränkungen und Ressourceneinschränkungen: In Datenbankumgebungen sind Verbindungsgrenzwerte häufig an Dienstebenen oder Ressourcenkonfigurationen gebunden. Beispielsweise definiert Azure SQL-Datenbank Verbindungsgrenzwerte basierend auf der ausgewählten Dienstebene, während die von Azure SQL verwaltete Instanz Grenzwerte basierend auf zugewiesenen Ressourcen, z. B. CPU, Arbeitsspeicher oder vCores, erzwingt. Wenn Verbindungspoolkonfigurationen diese Grenzwerte überschreiten, können Anwendungen abgelehnte Verbindungen, Drosselung oder eine beeinträchtigte Leistung erleben.

  • Authentifizierungsmethoden: Tokenbasierte Authentifizierungsmechanismen, z. B. die Microsoft Entra ID-Authentifizierung, können sich aufgrund des Tokenablaufs auf das Verbindungspooling auswirken. Abgelaufene Token können Verbindungen innerhalb des Pools ungültig machen und die Wiederverwendung unterbrechen. Dieses Verhalten tritt sowohl in cloudbasierten als auch in lokalen Datenbanksystemen auf, die moderne Authentifizierungsprotokolle verwenden.

  • Netzwerklatenz und Endpunkte: Netzwerklatenz und Endpunktkonfigurationen können die Effizienz des Verbindungspoolings beeinflussen. Öffentliche Endpunkte, die häufig in in der Cloud gehosteten Datenbanken verwendet werden, führen in der Regel eine höhere Latenz im Vergleich zu privaten oder direkten Verbindungen ein. Bei cloudeigenen Anwendungen mit dynamischer IP-Adressierung kann die Wiederverwendung der Verbindung unterbrochen werden, wenn Firewallregeln nicht aktualisiert werden, um sich ändernde IP-Adressen zu berücksichtigen.

  • Verschlüsselungsanforderungen: Datenbanken, die TLS/SSL-Verschlüsselung erzwingen, erfordern die Ausrichtung zwischen Verbindungspoolkonfigurationen und Verschlüsselungseinstellungen. Beispielsweise kann das Weglassen erforderlicher Verschlüsselungsparameter in Verbindungszeichenfolgen, z. B. Encrypt=True, zu Verbindungsfehlern führen, wodurch die Effizienz des Poolings reduziert wird.

  • DNS-Auflösung: Private Endpunkte und benutzerdefinierte DNS-Konfigurationen können Herausforderungen für das Verbindungspooling darstellen. Falsch konfigurierte oder inkonsistente DNS-Einstellungen können die Verbindungseinrichtung verzögern oder blockieren, was sich auf die Leistung und Zuverlässigkeit der Verbindungswiederverwendung auswirkt. Dies ist insbesondere in Umgebungen mit Hybrid- oder private Cloud-Setups relevant.

In diesem Abschnitt

SQL Server-Verbindungspooling (ADO.NET)
Bietet eine Übersicht über verbindungspooling und beschreibt, wie verbindungspooling in SQL Server funktioniert.

OLE DB-, ODBC- und Oracle-Verbindungspooling
Beschreibt das Verbindungspooling für den .NET Framework-Datenanbieter für OLE DB, den .NET Framework-Datenanbieter für ODBC und den .NET Framework-Datenanbieter für Oracle.

Weitere Informationen