Frage

In Vielleicht Normalisierung Ist nicht Normal Jeff Atwood sagt, "Du bist automatisch Messen alle Abfragen fließen durch Ihre software, richtig?" Ich bin nicht aber ich möchte.

Einige Funktionen der Anwendung in Frage:

War es hilfreich?

Lösung

Neben Brad Erwähnung von SQL Profiler, wenn Sie wollen, um dies im code, dann alle Ihre Datenbank-Aufrufe müssen funnelled durch eine gemeinsame Bibliothek.Fügen Sie die timing-code gibt, und voila, Sie wissen, wie lange jede Abfrage in Ihr system.

Single-point-Eintrag in die Datenbank ist ein ziemlich standard-feature von jedem ORM-oder Datenbank-Ebene -- oder es zumindest wurde in jedem Projekt, an dem ich gearbeitet habe, so weit!!!

Andere Tipps

SQL Profiler ist das tool, das ich verwenden, um zu überwachen, fließenden Verkehrs auf meinem SQL Server.Es ermöglicht Ihnen das sammeln detaillierte Daten über Ihre SQL-Server.SQL Profiler verteilt wurde, mit dem SQL Server seit mindestens SQL Server 2000 (aber wahrscheinlich davor auch).

Sehr zu empfehlen.

Werfen Sie einen Blick auf dieses Kapitel Jeff Atwood und ich schrieb über performance-Optimierungen für Webseiten.Decken wir eine Menge Zeug, aber es ist eine Menge Zeug über Datenbank-tracing und-Optimierung:Beschleunigen Ihre Website:8 ASP.NET Performance-Tipps

Die Dropthings Projekt auf CodePlex ist eine Klasse für timing-code-Blöcke.Die Klasse ist benannt TimedLog.Es IDisposable implementiert.Wickeln Sie den block von code, die Sie wollen, um Zeit in einer using-Anweisung.

Wenn Sie rails automatisch protokolliert alle SQL-Abfragen, und die Zeit, die Sie nahm, um zu führen, in Ihrer Entwicklung-log-Datei.

Ich finde das sehr nützlich, denn wenn Sie tun, finden Sie eine, die eine Weile dauert, es ist ein Schritt, um einfach nur kopieren und fügen Sie es direkt aus dem Bildschirm/logfile und put 'erklären' in front of it in mysql.

Sie müssen nicht zu gehen Graben durch Ihren code und rekonstruieren, was passiert ist.

Unnötig zu sagen, dies nicht in der Produktion, wie es laufen lassen würde Ihnen der Speicherplatz in etwa einer Stunde.

Wenn Sie definieren eine Fabrik, die erstellt SqlCommands für Sie und immer rufen Sie, wenn Sie benötigen einen neuen Befehl, Sie können Rückkehr ein RealProxy ein SqlCommand-Objekt.

Dieser proxy kann dann Messen, wie lange ExecuteReader / ExecuteScalar etc.mit einer Stoppuhr und melden Sie es irgendwo.Der Vorteil der Verwendung dieser Methode über Sql Server Profiler ist, dass können Sie full-stack-traces für jede ausgeführte Stück von SQL.

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