Gibt es eine SQL server-Leistungsindikator für die Durchschnittliche Ausführungszeit?
Ich soll zur Optimierung einer Produktions-SQL server. Nach den Anpassungen (z.B. änderung der Grad der Parallelität) ich möchte wissen, ob es geholfen hat oder verletzt Abfrage-Ausführungszeit.
Dies scheint wie eine offensichtliche performance-counter, aber für die Letzte halbe Stunde habe ich gesucht, Google und der Zähler-Liste in perfmon, und ich habe nicht in der Lage zu finden, einen Leistungsindikator für SQL server, um mir die Durchschnittliche Ausführungszeit für alle Fragen der Kollision mit einem server. Der SQL-Server entspricht der ASP.NET Anfrage der Ausführung.
Macht gibt es, die mir fehlt? Gibt es eine andere effektive Möglichkeit der überwachung der Durchschnitt Abfrage mal für einen server?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Glaube ich nicht, es ist ein PerfMon-aber es gibt einen Bericht in SQL Server Management Studio:
Rechten Maustaste auf die Datenbank, wählen Sie Berichte > Standard-Reports > Object Statistiken. Dies wird Ihnen einige sehr gute Statistiken darüber, was läuft innerhalb der Datenbank, wie lange es dauert, wie viel Speicher/io-Verarbeitung dauert es, etc.
Können Sie auch diese auf der server-Ebene über alle Datenbanken hinweg.
Können Sie mithilfe von Query Analyzer (das ist eines der tools, die mit SQL Server) und sehen, wie Sie ausgeführt werden intern so optimieren Sie die Indizierung usw. Das würde Ihnen nicht sagen, über das Durchschnittliche oder Runden-Reise zurück an den client. Zu tun, dass Sie würde haben, um log auf dem client-Rechner und analysieren die Daten selbst.
Habe ich es geschafft durch speichern der Ablaufverfolgung in SQL. Wenn der trace ist offen
File
>Save As
>Trace Table
Wählen Sie die SQL, und einmal importierten laufen
Können Sie sehr leicht durchführen, andere Werte, max, min, zählt etc... Viel bessere Möglichkeit der Abfrage der trace-Ergebnis
Durchschnitt über welche Zeit und für welche Abfragen? Sie brauchen, um weiter zu definieren, was meinen Sie mit "Durchschnitt" oder es hat keine Bedeutung, das ist wahrscheinlich, warum es ist nicht eine einfache performance-counter.
Können Sie erfassen diese Informationen, indem Sie Ablaufverfolgung, die Erfassung, die auf eine Tabelle, und dann könnte man slice-and-dice der Ausführung mal in eine von vielen Möglichkeiten.
Es nicht geben genau das, was Sie brauchen, aber ich würde empfehlen, Sie versuchen, die SQL Server 2005 Performance Dashboard Reports, die heruntergeladen werden können hier. Es enthält einen Bericht über die top 20 Anfragen und die Durchschnittliche Ausführungszeit und die viele andere nützliche Dinge (top-Abfragen von IO, warten, stats etc). Wenn Sie es installieren wollen, achten Sie darauf, nehmen Sie zur Kenntnis, wo es installiert und Folgen Sie den Anweisungen in der Zusätzlichen Info-Bereich.
Den profiler geben Ihnen Statistiken über die Ausführungszeiten von Abfragen und Aktivitäten auf dem server. Insgesamt abfragezeiten kann oder kann nicht bedeuten, sehr viel, ohne binden Sie an spezifische Arbeitsplätze-und Abfrage-Pläne.
Andere Indikatoren für die performance-Engpässe sind Ressourcenkonflikte Schalter (für Allgemeine Statistiken, die Riegel, Schlösser). Sie können diese durch Leistungsindikatoren. Auch auf der Suche für eine große Anzahl von table-scan-oder andere Vorgänge, die nicht machen Verwendung von Indizes kann Ihnen einen Hinweis darauf geben, dass die Indizierung notwendig sein kann.
Auf einen server geladen zunehmende Parallelität ist unwahrscheinlich, dass wesentlich auf die Leistung auswirken, da es bereits viele Anfragen aktiv. Wo Parallelität bekommt Sie ein Gewinn ist auf große selten laufen batch-jobs, wie die ETL-Prozesse. Wenn Sie brauchen, um zu reduzieren die Laufzeit eines solchen Prozesses ist dann Parallelität könnte ein guter Ort zu suchen. Auf einem stark frequentierten server zu tun eine Transaktions-workload mit vielen Benutzern, die system-Ressourcen werden besetzt, die Arbeitsbelastung, so dass die Parallelität ist unwahrscheinlich, dass ein großer Gewinn.
Können Sie Activity Monitor. Es ist gebaut in SSMS. Es wird Ihnen Echtzeit-tracking von allen aktuellen teuren Abfragen auf dem server.
Öffnen Activity Monitor:
Hoffe, das hilft.
Gibt es Leistungsindikatoren in SQL Server:Batch-Bzw-Statistik' - Gruppe, die in der Lage sind zu verfolgen, SQL Batch-Reaktionszeiten. Leistungsindikatoren sind unterteilt auf Basis von response-Zeit-Intervalle, zum Beispiel, von 0 ms bis 1 ms, ..., von 10 ms bis 20 ms, ..., 1000 ms bis 2000 ms und so weiter, Sodass die richtige Zähler können ausgewählt werden, um das gewünschte Zeitintervall.
Hoffe, es hilft.