Query Execution time in Management Studio & profiler. Was misst er?
Habe ich meine Produktion der SQL-Server in einem entfernten Rechenzentrum(und die web-Server stehen im gleichen Rechenzentrum). Während der Entwicklung haben wir beobachtet, dass eine bestimmte Ansicht dauert eine lange Zeit zum ausführen (etwa 60-80 Sek.) in unserem lokalen Entwicklung, SQL-Server, und wir waren in Ordnung mit ihm.Es war gefördert, um die Produktion und wenn ich den gleichen query auf der Produktions-DB (die ist im data-center)von meinem lokalen Management Studio sehe ich, dass die Abfrage dauert etwa 7 Minuten,17 Sekunden zu laufen (steht unten rechts in der management studio).Wenn ich lief ein profiler sehe ich, dass die Zeit, die zum ausführen dieser Abfrage ist 437101 Mikrosekunden Millisekunden aber es zeigt sich in management studio 7:17. , die tatsächlich über 437101 Millisekunden. Mein DBA sagt, dass in prod der Blick dauert nur etwa 60 bis 80 Sekunden, wenn ich unterschiedliche zahlen von profiler und management-studio.Kann mir jemand sagen, was diese Laufzeiten bedeuten, Profiler und management-studio ?
Meine Vermutung: die Dauer zwischen dem senden der letzten Anfrage byte und Erhalt der letzten Antwort byte aus dem server. Die client-Statistiken waren wie folgt:
Client-Verarbeitungszeit: 90393
Total Execution time:92221
Wartezeit auf server-Antworten: 1828
Meine beste Vermutung, was der "Dauer" auf dem profiler-bedeutet, ist "die Zeit, die für SQL Server (Optimierungs-engine, um die Abfrage analysieren,generieren der Abfrage-plan oder verwenden Sie die vorhandene Abfrage-plan + fetch Datensätze aus verschiedenen Seiten zu generieren, dass das Ergebnis-set, das schließt die Zeit, die Daten zu Reisen, die über den Draht zu den Kunden"
Edit: ich finde, dass diese beiden Zeiten sind in etwa gleich hoch (management-studio vs-profiler). Wie stehen Sie in Verbindung mit den Zeiten sehe ich in der client-Statistik ?
Kann jemand werfen mehr Licht auf diese ?
- Vorausgesetzt, Sie haben ähnliche Datenmenge in test - /dev-und Produktionsumgebungen, Ihre Annahmen richtig.
- Nate: ich bearbeitet die Frage. Der profiler und Management-Studio zeigen etwa der gleichen Zeit (437101 milli secs vs 7:17)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich verstehen deine Frage richtig, du ersten Frage der Unterschied zwischen der Dauer gemeldet, die von Profiler und der Statistik vorgestellt, die in SSMS (entweder in der unteren rechten Ecke für Allgemeine Zeit-und/oder durch SET STATISTICS TIME ON). Zusätzlich zu, dass Sie scheinen nicht überzeugt von der Produktions-DBA-Kommentar, dass die Ansicht ausgeführt wird, in der die voraussichtliche Dauer ~60 Sekunden.
Ersten, aus der Onlinedokumentation, die Statik, die SSMS berichten würden, über die SET STATISTICS TIME ON:
Du bist spot-on für diese. Als für die Dauer, in Profiler ist es beschrieben als:
Aus, wo ich Sitze, sollten diese beiden funktionell gleichwertig (und, wie ich sicher bin, Sie bemerkt, Profiler-report wird in Mikrosekunden an, wenn Ihr was gegen SQL 2005 oder höher). Ich sage dies, weil das "Ereignis" in diesem Fall (bezüglich Dauer im Profiler) ist die Ausführung der select -, umfasst die Lieferung an den Kunden; dies stimmt in beiden Fällen.
Es scheint, Sie vermuten, dass Geographie ist der Täter zu lange Dauer bei der Ausführung der Abfrage aus der Ferne. Diese sehr gut sein kann. Sie können diese testen, indem du den select auf die view in einem Abfrage-Fenster, dann laichen ein weiteres Fenster für die Abfrage und überprüfung der wait-Typ, die auf der Abfrage:
Ich würde vermuten, dass Sie sehen würde, so etwas wie ASYNC_NETWORK_IO da die wait-Typ, wenn die Geographie ist das problem - sonst, überprüfen Sie heraus, was kommt von diesem. Wenn Sie die Profilerstellung für die Abfrage Ihrer remote-Ausführung, die Dauer wird der reflektierende mal Statistiken sehen Sie im SSMS. ALLERDINGS, wenn Sie mit Profiler und fand, dass die Dauer dieser Abfrage bei der Ausführung über den Webserver, die sich im selben Rechenzentrum wie der SQL-Server ist immer noch unter 7 Minuten, dann die DBA ist eine große, Fette Lügner :). Ich würde Profiler zum aufzeichnen von Abfragen, die länger als 1 minute dauern, versuchen Sie, die filter für die Ansicht und den Durchschnitt zu sehen, wenn Sie am Ziel für die Leistung.
Weil es keine anderen Antworten geschrieben, ich bin besorgt, dass ich bin Weg Basis hier - aber es ist spät und ich bin neu in diesem, so dass ich dachte, ich würde give it a go!
Ich zu kämpfen hatte, mit, dass, bis ich das gefunden...
http://blog.sqlauthority.com/2009/10/01/sql-server-sql-server-management-studio-and-client-statistics/
Auch, wenn Sie öffnen Sie die Eigenschaften-Registerkarte für Ihre Anfrage finden Sie einige Magische "Verstrichene Zeit", dass kann Ihnen einige Ausführungszeit...
Hoffe, es hilft...
Versuchen Sie es mit diesem: