SNIReadSync Ausführung zwischen 120 bis 500 ms für eine einfache Abfrage. Was ich suche?

StackOverflow https://stackoverflow.com/questions/1610874

  •  05-07-2019
  •  | 
  •  

Frage

Ich bin Ausführung eine einfache Abfrage gegen SQL Server 2005:

protected static void InitConnection(IDbCommand cmd) {
        cmd.CommandText = "set transaction isolation level read uncommitted ";
        cmd.ExecuteNonQuery();            
    }

Jedes Mal, wenn ich mit DotTrace Profil 3.1, behauptet sie, dass SNIReadSync Verfahren zwischen 100 nehmen -. 500 ms

Was für Dinge brauche ich für zu suchen, um nach unten, diese Zeit zu bekommen?

Danke!

War es hilfreich?

Lösung

Ich habe nicht getestet, aber würde ich fragen, ob Sie das gleiche Problem haben, wenn Sie eine Transaction mit den Optionen von IsolationLevel.ReadUncommitted verwendet. Sie müßten Ihren vollständigen Satz von Aufrufen verkapseln und das sollte die Notwendigkeit diese Aussage negieren. Ich weiß, dass diese Aussage nicht Ihre grundlegenden Anliegen ist, aber im Allgemeinen.

Eine andere Sache, die Sie tun können, ist eine DBConnectionScope-Klasse (oder einer vertrauenswürdigen Anbieters Klasse nutzen) und reduzieren auf die Gesamtzahl der Verbindungen, die geöffnet werden.

Andere Tipps

Stellen Sie sicher, dass das Verbindungsspooling aktiviert ist, oder Sie werden eine bedeutende Strafe jedes Mal erhalten eine Verbindung geöffnet wird. In der Verbindungszeichenfolge festgelegt Pooling = True, oder entfernen Sie alle Verweise auf Pooling. Ich glaube, die standardmäßig aktiviert ist.

Das das Problem behoben für mich. Hoffe, es hilft für Sie und andere.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top