Frage

Ich denke, viele Entwickler wissen, dass ein unangenehmes Gefühl, wenn Nutzer sie sagen, dass „Die Anwendung langsam ist (wieder).“

In einer komplexen Web-Anwendung kann es viele mögliche Gründe für eine Verschlechterung der (gefühlte) Leistung: langsame Datenbank Antwort, Bandbreitenprobleme, schlechte Caching etc. Es gibt sicherlich Probleme, die nie eintreten wird in eine Entwicklung oder Staging-Umgebung.

Jetzt meine Frage:

Gibt es eine Reihe von Werkzeugen und / oder Verfahren, die ein umfassender „live“ Zustand auf einem IIS / ASP.NET / SQL Server-Produktionssystem in eine visuell Art und Weise (nicht nur Leistungsindikatoren liefern würden ):

  • Aktuelle HTTP-Anfragen (sagen die letzten n Minuten)
  • Ausnahmen / Timeouts
  • Bandbreite Daten
  • Die Anzahl der offenen Datenbankverbindungen / Datenbank Anrufe
  • ...

Das primäre Ziel ist auf einem Blick (oder nach näherem Hinsehen), welches Problem zu sehen ist, um die Performance-Probleme verursachen.

War es hilfreich?

Lösung

Ich denke, die Kategorie von Software, die Sie suchen ist „.net-Profiler“ oder „.net Tracer“. Ein solches Tool, das Sie betrachten könnte, ist JetBrains' DotTrace . Es gibt Ihnen Runtime-Stack-Traces und eine Reihe von Indikatoren, die mögliche Engpässe an.

Andere Tipps

Zuvor genannte Tools werden sicherlich funktionieren. Bei uns brauchten wir feinere Informationen und bauten unsere eigene Lösung (lange Geschichte: es ist einfacher zu Code war als etwa Werkzeuge und abrufbare Daten zu argumentieren)

.

Ich benutzte LogParser durch die Flip IIS-Protokolle und Reporte dieser Protokolle (zB Ergebniscode Pannen usw.) erstellen.

habe ich eine Kombination von Leistungsindikatoren und WMI-Werten um den Rest zu bekommen - Sie diese mit einem paar ziemlich einfachen C # lesen können - das gibt Ihnen die volle Kontrolle, die Sie dann abladen können etc .csv für die Anzeige / Verarbeitung in Excel oder wenn Sie eine Seite als Steuerzentrale zu aktualisieren.

Ich würde wahrscheinlich auch einen Blick auf IIS.net als eine große Ressource für IIS-Tools einschließlich Debuggen, Sicherheit etc.

Ich folgte urig Rat und gefunden diese Software namens SmartInspect .

Kennt jemand diese Protokollierung / Monitoring-Tool? Es scheint eine Kombination aus Echtzeit-Konsole und Entwickler-Bibliothek zu sein.

CLR 4.5 einige neue Funktionen, die Sie ASP.NET live nicht überwachen helfen - ohne die App neu zu starten. Grundsätzlich können Sie Ihren Code neu JIT einig Monitoring-Haken darin enthalten, und dann Zeit in Klassen / Methoden usw. ausgegeben überprüfen.

Ich bin sicher, dotTrace und andere Profilierwerkzeuge wird diese automatisch nutzen, aber es ist einen Besuch wert: C9 - Innen Re-JIT mit David Broman

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