Domanda

Penso che molti sviluppatori conoscano quella sensazione spiacevole quando gli utenti dicono loro che " L'applicazione è lenta (di nuovo). "

In un'applicazione Web complessa possono esserci molte possibili ragioni per un peggioramento delle prestazioni (percepite): risposta lenta del database, problemi di larghezza di banda, cattiva memorizzazione nella cache ecc. Ci sono certamente problemi che non si verificheranno mai in un ambiente di sviluppo o di gestione temporanea.

Ora la mia domanda:

Esiste una serie di strumenti e / o metodi che fornirebbero a un "live" completo dichiarare su un sistema di produzione IIS / ASP.NET / SQL Server in modo visivo (non solo contatori delle prestazioni):

  • Richieste HTTP correnti (diciamo gli ultimi n minuti)
  • Eccezioni / timeout
  • Dati sulla larghezza di banda
  • Numero di connessioni al database aperte / chiamate al database
  • ...

L'obiettivo principale è quello di vedere a colpo d'occhio (o dopo aver guardato più da vicino) quale problema sta causando i problemi di prestazioni.

È stato utile?

Soluzione

Penso che la categoria di software che stai cercando sia " .net profiler " o "quotatore .net". Uno di questi strumenti che potresti prendere in considerazione è dotTrace di JetBrains. Ti dà tracce dello stack di runtime e una serie di contatori che indicano possibili colli di bottiglia.

Altri suggerimenti

Gli strumenti precedentemente menzionati funzioneranno sicuramente. Nel nostro negozio avevamo bisogno di informazioni più precise e costruito la nostra soluzione (lunga storia: era più facile programmare che discutere su strumenti e dati recuperabili).

Ho usato LogParser per sfogliare il Registri IIS e creazione di rapporti di output di tali registri (ad es. Suddivisioni del codice dei risultati, ecc.).

Ho usato una combinazione di contatori delle prestazioni e valori WMI per ottenere il resto - puoi leggerli usando un C # piuttosto semplice - questo ti dà il pieno controllo che puoi quindi scaricare in .csv ecc per visualizzare / elaborare in Excel o se stai aggiornando una pagina come centro di controllo.

Probabilmente guarderei anche IIS.net come un'ottima risorsa per gli strumenti IIS tra cui debug, sicurezza ecc.

Ho seguito i consigli di urig e trovato questo software chiamato SmartInspect .

Qualcuno conosce questo strumento di registrazione / monitoraggio? Sembra essere una combinazione di console in tempo reale e libreria di sviluppatori.

CLR 4.5 avrà alcune nuove funzionalità che ti aiuteranno a monitorare le prestazioni di ASP.NET dal vivo - senza riavviare l'app. Fondamentalmente puoi re-JIT il tuo codice per includere alcuni hook di monitoraggio in esso, e quindi ispezionare il tempo trascorso in classi / metodi ecc.

Sono sicuro che dotTrace e altri strumenti di profilazione lo sfrutteranno automaticamente, ma vale la pena dare un'occhiata: C9 - Inside Re-JIT con David Broman

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top