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.

Themenseiten: Anwendungsentwicklung, Big Data, Datenbank, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Vorzüge des Verbindungspoolings unter .NET

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *