Vorzüge des Verbindungspoolings unter .NET

Man sollte bei der Verwendung von Verbindungspools Sorgfalt walten lassen. Hier ein paar Tipps zum Gebrauch:

  • Verbindungen sollten nur geöffnet werden, wenn sie gebraucht werden. Timing ist hier alles. Deshalb ist es wichtig eine Verbindung erst kurz bevor sie benötigt wird zu öffnen und nicht vorher. Außerdem ist es ratsam eine Verbindung zu schließen, sobald sie nicht mehr gebraucht wird, und damit nicht auf den Garbage Collector zu warten.
  • Es empfiehlt sich auch benutzerdefinierte Transaktionen vor den damit zusammenhängenden Verbindungen zu schließen.
  • Wenn mindestens eine Verbindung aber geöffnet bleibt, kann auch der Verbindungspool erhalten bleiben. Es sollten also nicht alle Verbindungen im Pool geschlossen werden. Wenn die Ressourcen des Servers dabei ein Problem darstellen, können alle Verbindungen geschlossen werden. Der Pool wird dann bei der nächsten Anforderung neu erstellt.
  • Verbindungspooling sollte nicht verwendet werden, wenn „integrated security“ in Verwendung ist. Damit würde ein eindeutiger Verbindungsstring für jeden Benutzer erzeugt, und jeder Nutzer hätte einen Verbindungspool, den die anderen nicht benutzen könnten. Das führt zu schlechten Performancewerten. In dieser Konstellation ist von einem Pooling abzuraten.

ADO.NET 2.0

Zwei neue Methoden in Bezug auf Verbindungspooling wurden mit ADO.NET 2.0 eingeführt. Es handelt sich um ClearAllPools und ClearPool. ClearAllPools löscht die Verbindungspools für einen bestimmten Anbieter, und ClearPool löscht den Verbindungspool, der mit einer bestimmten Verbindung assoziiert ist. Wenn zum Zeitpunkt des Aufrufs aktive Verbindungen bestehen, werden sie entsprechend markiert. Beim Schließen, werden sie gelöscht und gehen nicht wieder in den Pool ein.

Eine weitere Anwendungsoption

Der Schlüssel für Verbindungspooling liegt darin, zu wissen, welche Optionen verfügbar sind, und diese den Anforderungen der Anwendung entsprechend einzusetzen. Wenn eine Anwendung kontinuierlich mit der Datenbank kommuniziert, ist Verbindungspooling möglicherweise optimal, da die Notwendigkeit entfällt, Verbindungen zu öffnen/einzurichten und so die Leistung erhöht wird. Andererseits braucht eine Anwendung, die Nachts läuft, keinen Pool, da sie für den Rest des Tages nicht auf die Datenbank zugreift. Man sollte nach bestem Ermessen verfahren, wenn man erwägt, Verbindungspooling einzusetzen.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Top-Malware im November: Infostealer Formbook bleibt Nummer 1

Sein Anteil an allen Infektionen steigt in Deutschland auf 18,5 Prozent. Das Botnet Androxgh0st integriert…

1 Woche ago

Google schließt schwerwiegende Sicherheitslücken in Chrome

Betroffen sind Chrome 131 und früher für Windows, macOS und Linux. Angreifer können unter Umständen…

2 Wochen ago

Data Analytics: Dienstleister wachsen zweistellig

Marktforscher Lündendonk erwartet für das Jahr 2025 ein durchschnittliches Umsatzwachstum von 14,9 Prozent.

2 Wochen ago

Open-Source-Malware auf Rekordniveau

Alarmierender Anstieg von Open-Source-Malware / Seit 2019 haben Sonatype-Analysen mehr als 778.500 bösartige Pakete aufgedeckt

2 Wochen ago

Bayerische KI-Agentur bietet KI-KOMPASS

Das KI-Werkzeug "BAIOSPHERE KI-KOMPASS" soll Unternehmen den Einstieg in KI erleichtern.

2 Wochen ago

Cloudflare: Weltweiter Internettraffic wächst 2024 um 17,2 Prozent

Das Wachstum konzentriert sich wie im Vorjahr auf das zweite Halbjahr. Google dominiert bei den…

2 Wochen ago