- 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.
Neueste Kommentare
Noch keine Kommentare zu Vorzüge des Verbindungspoolings unter .NET
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.