Die Performance von .NET verbessern

Die Garbage Collection in .NET versprach, dass man sich nicht mehr um das Aufräumen von Objekten kümmern muss, weil .NET hinter den Kulissen alles automatisch erledigt. Dennoch gibt es ständig das Problem, dass Datenbankverbindungen nicht mehr richtig funktionieren, weil Entwickler vergessen haben, hinter sich aufzuräumen.

Das Problem mit Datenbankverbindungen, die über ADO.NET hergestellt, aber nicht ordnungsgemäß geschlossen und wieder freigegeben wurden, besteht ganz einfach darin, dass der Backend-Datenbankserver dadurch belastet wird. Verbindungen bleiben offen und verbrauchen Ressourcen, die woanders besser verwendet werden könnten. Der Datenzugriff mit ADO.NET wurde mit Blick auf eine Architektur entworfen, die sehr sparsam Verbindungen einsetzt. Applikationen sind nur so lange mit der Datenbank verbunden, wie sie brauchen, um die Daten abzurufen oder zu aktualisieren. Da die Datenbank Verbindungen, die überwiegend untätig sind, nicht offen hält, kann sie viel mehr Benutzer bedienen.

Diese Verbindungen überwachen

Fallbeispiel: Ein Datenbankadministrator hat zahlreiche offene Datenbankverbindungen in einer Datenbank festgestellt. Eine Übersicht über die zu einem beliebigen Zeitpunkt offenen Verbindungen bei einem SQL Server kann man sich leicht verschaffen. Die folgende T-SQL-Anweisung gibt eine Liste offener Verbindungen bei einer Instanz von SQL Server zurück. Es enthält auch den Benutzernamen, welcher der Verbindung zugeordnet wurde.


Der Name des Servers (der auf den Datenbankserver zugreift), der Programmnamen und der Login-Namen in den Spalten hostname, program_name und loginame ist einsehbar. Die nachstehende Abfrage gibt diese Werte zurück:


Bei diesen Spalten wird die folgende T-SQL-Anweisung benutzt, um nur die Verbindungen zu sehen, die durch einen bestimmten Server und Login-Namen (der Login-Name, den die fragliche Applikation verwendet) geöffnet sind:


Mit dieser T-SQL-Anweisung erhält der Programmierer schnell eine Übersicht über die Verbindungen, die von einer bestimmten Applikation geöffnet wurden. Jede Applikation eines Client benutzt ein eindeutiges Login, es ist daher einfach, einer Applikation offene Verbindungen zuzuordnen.

Themenseiten: Anwendungsentwicklung, Software

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

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Die Performance von .NET verbessern

Kommentar hinzufügen

Schreibe einen Kommentar

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