ASP.Net Ferramentas De Perfil De Memória Do Processo Do Trabalhador

Temos um volume bastante elevado. ASP.Net site escrito em C# usando MS commerce server, executando em um ambiente de 32 bits. Eu vejo o processo do trabalhador até 980 megabytes bastante frequentemente. Eu gostaria de traçar o perfil deste processo e determinar onde quaisquer ganhos poderiam ser feitos em código para reduzir a impressão do pé de memória deste site. A minha pergunta é: que Ferramentas funcionaram bem para você fazer este tipo de coisa em ASP.Net aplicações web?

Estou à procura de ferramentas que me dêem muito específicas. feedback, isso realmente ajudará a ver claramente o que precisa mudar no código. Seria melhor se esta ferramenta pudesse traçar o perfil do nosso processo de produção de trabalhadores do meio ambiente para um conjunto mais concreto de dados para comparar.

[editar]

Até agora, parece que o consenso é que é uma confusão entre formigas e JetBrains. Alguém usou as duas coisas? Em caso afirmativo, qual deles era superior, ou quais são os prós e os contras de cada um?

Author: James, 2009-06-13

7 answers

ANTS Profiler é muito bom a traçar perfis ASP.NET aplicações.

 7
Author: Andrew Hare, 2009-06-12 20:56:34
Há um caminho livre.
  • lançar o Gestor de Tarefas
  • carregue com o botão direito no processo w3wp
  • seleccione " Criar lixo "(estou espantado como poucas pessoas sabem sobre esta funcionalidade)
  • Copie o ficheiro de dump para a sua máquina local (para que não incomodemos o servidor de produção)
  • Abre o ficheiro em estúdio Visual
  • Diverte-te.
  • seleccione "Debug Managed memory" para a janela avançada que Classe usa memória, etc.
AFAIK, o acima requer um estúdio Visual. "Ultimate" edition (I guess its called "Enterprise" now?). Se você não tem um, então siga estes passos (muito simples também)
  • lançar o WinDbg (ferramenta livre, parte do SDK do Windows, Existem toneladas de respostas aqui no StackOverflow sobre como baixar o WinDbg sem todo o bloatware SDK) {[[9]}
  • Carregue em Ctrl + D e carregue o ficheiro de dump no WinDbg
  • Tipo .loadby sos clr (Isto irá carregar SOS.dll que permite ao WinDbg analisar processos. net, SOS.dll é uma parte do Framework NET então você provavelmente já o tenho.
  • tipo !dumpheap -stat (Isto irá indicar os nomes das classes, ordenados pela utilização da memória, ordem ascendente. Skip system.string e system.byte[] As classes causam estes efeitos secundários, não a causa...)
 5
Author: Alex, 2017-06-06 14:21:53
 3
Author: lance, 2009-06-12 20:58:01
Algo como o profiler de memória das formigas pode ser útil para ti.
 1
Author: RichardOD, 2009-06-12 20:57:03

Também considere AQTime a partir do QA automatizado.

 1
Author: John Saunders, 2009-06-12 21:04:22
O rastro de JetBrains salvou-me várias vezes. Não é gratuito (o teste está disponível), mas é realmente powerfull!
 0
Author: murad, 2009-06-12 21:00:47

UsamosAviCode , e funciona muito bem para nós.

 0
Author: J.W., 2015-06-22 13:21:19