"We are back" « oc.at

.NET c# - Wie Connections aus dem Connectionpool "tracken"? / Objekte identifiziern

semteX 23.05.2010 - 14:41 1601 6
Posts

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14695
Grüße

folgendes problem: eine massiv multithreadete WCF applikation (nennen wir sie diplomarbeit, das schwein). Schreibt wie ein böser sehr (80mb) große BLOBs in ne SQL Server 2008 Datenbank. Als Zugriffsschicht kommt linq2sql zum einsatz, welches mir kopfweh macht. Transaktionen existieren, laufen allerdings im moment als ReadUncommited, somit sollte das locking thema vom tisch sein.

Der SQL Server feuert mir in einer Tour Timeout exceptions um die Ohren, sobald der Server etwas mehr stress bekommt. Mein verdacht ist, dass zwar jeder Thread seinen eigenen Linq DataContext hat, die Connection dahinter allerdings immer ein und das selbe Objekt ist und der ConnectionPool nicht verwendet wird.

java zeigt beim debuggen ja immer schön die Zahl neben den Objekten an beim debuggen, die es leicht macht verschiedene instanzen der selben klasse auseinanderzuhalten. Welche möglichkeiten hab ich da bei .NET? Irgendwie bin ich zdeppat google zu bedienen. Wichtig wär halt "zur laufzeit".

Die Zweite frage ist: Hat sich schon wer mit den PerformanceMonitor performancecountern gespielt? Ich wollt die .NET CLR Data counter hinzufügen (Welche aus nem rudel SqlClient counter bestehen), bekomm sie auch auf die "rechte" seite, allerdings zeigt mir diese anschließend im Performance Monitor Graph ned an. Auch unten in der Legende dazu nicht... als ob ich sie nie hinzugefügt hätt...

Vielen Dank, Liebe Grüße
Klaus

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14695
leider ned wirklich fürcht ich :/ weil eigentlich mach ich mit den performance countern alles wie im 2. link beschrieben

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14695
nur falls sich wer fragen sollte: der performance counter vom 2. link ist outdated (seit 1.1, lol)... der neue heißt .NET Data Provider for SQL Server... WAH...

DirtyHarry

aka robobimbo
Avatar
Registered: Apr 2001
Location: outer space
Posts: 464
Machst du mit dem VS2008 oder VS2010?

Das 2010er hat massive erweiterte Möglichkeiten für Multithreaded Debugging

Polyfire

Addicted
Avatar
Registered: Feb 2007
Location: .
Posts: 415
Sql Server Profiler könnt evt. auch weiterhelfen, afaik sollte man da im Trace sehen können ob mehrere Connections gleichzeitig reinkommen.

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14695
2008er, und sql profiler rennt scho parallel... da muss ich ma jetzt mal anschaun mit welcher profiler ansicht ma da am besten connections tracked :)

ich hab jetzt mal die connection pool meters in dem performance monitor, sollt a schomal helfn
Bearbeitet von semteX am 29.05.2010, 16:14
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz