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

HostPress für Agenturen und E-Commerce-Betreiber

Höchste Performance-Standards für Webseiten und ein persönlicher, kundenorientierter Premium Support.

5 Tagen ago

V-NAND: Samsung steigert Bit-Dichte um 50 Prozent

Die neue V-NAND-Generation bietet die derzeit höchste verfügbare Bit-Dichte. Samsung steigert auch die Geschwindigkeit und…

5 Tagen ago

Bericht: Google entwickelt App-Quarantäne für Android

Die Sicherheitsfunktion taucht in einer Beta eines kommenden Android-Updates auf. Die Quarantäne beendet unter anderem…

6 Tagen ago

Kostenloser Kurs zum Ausbau von Low-Code-Programmierung

Die OutSystems Developer School hilft Entwicklern, in 2 Wochen komplexe reaktive Anwendungen mit der Low-Code-Plattform…

6 Tagen ago

Cloudflare: DNS-basierte DDoS-Angriffe steigen im ersten Quartal um 80 Prozent

Das Jahr 2024 beginnt laut Cloudflare mit einem Paukenschlag. Die automatischen Systeme des Unternehmens wehren…

6 Tagen ago

Roblox: 34 Millionen Zugangsdaten im Darknet

Laut Kaspersky nehmen Infostealer gerade auch Spieleplattformen ins Visier. Neue Studie untersucht Angriffe zwischen 2021…

6 Tagen ago