Contadores de desempenho para ASP.NET
ASP.NET oferece suporte a dois grupos de contadores de desempenho: sistema e aplicativo.Os contadores de desempenho do sistema são expostos no Monitor de Desempenho do Windows como o objeto contador de desempenho ASP.NET.Contadores de desempenho são expostos como os objeto de desempenho ASP.NET Applications .
Observação: |
---|
O valor associado com cada contador de desempenho é atualizado a cada 400 milissegundos.Ao criar um aplicativo de monitoramento, não deixe de considerar esse lapse de tempo para que seu código não use um valor de contador obsoleto.Para obter mais informações, consulte Usando o monitoramento de componentes do sistema. |
Para obter informações adicionais sobre contadores de desempenho de aplicação e de sistema, consulte Como: Criar categorias de contador de desempenho, Categoria e gerenciamento de contador e Como: Criar contadores de desempenho Personalizars.
Ao monitorar o desempenho de seus aplicativos ASP.NET da Web, você pode controlar os contadores de desempenho listados na tabela a seguir.
O objeto de desempenho |
Contador de desempenho |
---|---|
ASP.NET |
Reiniciar o Aplicativo |
ASP.NET |
Solicitações em Fila |
ASP.NET |
Reinicializações do processo do operador |
Aplicativos ASP.NET. |
Total de Erros |
Aplicativos ASP.NET. |
Solicitações/s |
Processor |
Uso % CPU
Observação:
Baixa utilização da CPU ou a incapacidade de maximizar a utilização da CPU, independentemente da carga de cliente pode indicar contenção por um bloqueio de um recurso em seu aplicativo da Web.
|
Além disso, os seguintes contadores de desempenho podem ser importantes na determinação de problemas com o desempenho dos aplicativos da Web.
O objeto de desempenho |
Contador de desempenho |
---|---|
Aplicativos ASP.NET. |
Contagem de instância de pipeline |
Exceções CLR .NET |
Nº de exceções iniciadas |
Sistema |
Alternâncias de contexto / s |
O contador # exceções Thrown exibe o número de exceções lançadas em um aplicativo, como elas podem ter implicações de desempenho.No entanto, alguns caminhos de código dependem de exceções para funcionamento adequado.Por exemplo, o método Redirect no objeto Response gera a exceção ThreadAbortException, que não pode ser detectada.Portanto, ele pode ser útil para rastrear este valor juntamente com o contador Erros totais para ver se a exceção gerou um erro no aplicativo.
O contador Alternâncias de contexto / s mede a taxa na qual os contextos de segmento são trocados por todas as CPUs no computador servidor Web.Um número alto para esse contador geralmente indica alta contenção em bloqueios ou muitas alternâncias pelo segmento entre os modos de usuário e do kernel.Se você enfrentar isso, você deve investigar melhor com perfis de amostragem e outras ferramentas.
Contadores de Desempenho do sistema ASP.NET
O ASP.NET suporta os contadores desempenho do sistema ASP.NET listados na tabela a seguir.Esses contadores agregam informações de todos os aplicativos ASP.NET em um computador servidor Web.
Observação: |
---|
Há uma diferença significativa entre o Sessões do servidor de estado contadores encontrados no ASP.NET desempenho objeto que se aplicam somente ao computador servidor no qual o servidor de estado está sendo executado e o Sessões contadores encontrados no Aplicativos ASP.NETobjeto de desempenho de , que se aplicam somente a sessões de usuário que ocorrem no processo. |
Reiniciar o Aplicativo
O número de vezes que um aplicativo foi reiniciado durante o ciclo de vida do servidor Web.Reinicializações do aplicativo são incrementadas sempre que um Application_OnEnd evento é gerado.Uma reinicialização do aplicativo pode ocorrer devido as alterações no arquivo web.config, alterações em conjuntos de módulos (assemblies) armazenados no diretório Bin do aplicativo, ou quando um aplicativo deve ser recompilado devido a várias alterações nas páginas da Web ASP.NET.Aumento inesperado nesse contador pode significar que problemas estão surgindo no aplicativo da Web ao reciclar.Em tais circunstâncias você deverá investigar o mais rápido possível.Observação: Esse valor é redefinido em zero cada vez que o host Serviços de Informações da Internet (IIS) for reiniciado.
Aplicativo em execução
O número de aplicativos executados simultaneamente no computador do servidor.Solicitações desconectadas
O número de solicitações que foram desconectadas devido a uma falha de comunicação.Solicitações em Fila
O número de solicitações aguardando serviços da fila.Quando esse número inicia a incrementar linearmente com aumento da carga de cliente, o computador servidor Web atingiu o limite de solicitações simultâneas que ele podia processar.O padrão máximo para esse contador é 5.000.Você pode alterar essa configuração no arquivo computador.config.Solicitações rejeitadas
O número total de solicitações não executadas devido a insuficientes recursos do servidor para processá-las.Este contador representa o número de solicitações que retornam um código de status HTTP 503, indicando que o servidor está muito ocupado.Tempo de espera da solicitação
O número de milissegundos que a solicitação mais recente aguardou na fila de processamento.Total de Conexões de Servidor de Estado da Sessão
O número total de conexões de estado da sessão realizadas com o computador no qual os dados de estado da sessão fora de processo estão armazenados.Para obter mais informações, consulte Modos de estado de sessão.Total de Conexões de sessão SQL Server
O número total de conexões de estado da sessão realizadas com o banco de dados Microsoft SQL Server no qual os dados de estado da sessão são armazenados.Para obter mais informações, consulte Modos de estado de sessão.Sessões do servidor de estado abandonadas
O número de sessões de usuário que foram explicitamente abandonadas.Essas são sessões que são encerradas por ações específicas de usuário, como fechar o navegador ou navegação para outro site.Esse contador está disponível somente no computador onde o serviço do servidor de estado (aspnet_state) está sendo executado.Sessões do Servidor em Estado Ativo
O número de sessões de usuário ativas no momento.Esse contador está disponível somente no computador onde o serviço do servidor de estado (aspnet_state) está sendo executado.Sessões do Servidor com Estado de Tempo Limite Atingido
O número de sessões de usuário que se tornaram inativos por ociosidade do usuário.Esse contador está disponível somente no computador onde o serviço do servidor de estado (aspnet_state) está sendo executado.Total de sessões do servidor de estado
O número de sessões criadas durante o ciclo de vida do processo.Esse contador é o valor total de Sessões do Servidor em Estado Ativo, Sessões do Servidor de Estado Abadonadas e Sessões do Servidor com Estado de Tempo Limite Atingido.Esse contador está disponível somente no computador onde o serviço do servidor de estado (aspnet_state) está sendo executado.Reinicializações do processo do operador
O número de vezes que um processo de trabalho foi reiniciado no computador servidor.Um processo do operador pode ser reiniciado se ele falhar inesperadamente ou quando é intencionalmente reciclado.Se este contador aumentar inesperadamente, você deverá investigar o mais rápido possível.Processos do operador em execução
O número de processos do operador em execução no computador servidor.
Contadores de desempenho de aplicativos ASP.NET
O ASP.NET suporta os contadores desempenho do sistema ASP.NET listados na tabela a seguir.Esses contadores permitem que você monitore o desempenho de uma única instância de um aplicativo ASP.NET.Uma instância exclusiva denominada __Total__ está disponível para esses contadores.Esta instância agrega os contadores para todos os aplicativos em um servidor Web (semelhante aos contadores globais descritos anteriormente neste tópico).A instância __Total__ está sempre disponível.Os contadores exibirão zero quando não há aplicativos em execução no servidor.
Solicitações anônimas
O número de solicitações que estão usando a autenticação anônima.Solicitações anônima / S
O número de solicitações que estão usando a autenticação anônima.Total de Entradas de cache
O número total de entradas no cache.Este contador inclui o uso do cache pela estrutura de página ASP.NET e uso do cache por APIs de cache do aplicativo.Total de acertos de cache
O número total de acertos do cache.Este contador inclui o uso do cache pela estrutura de página ASP.NET e uso do cache por APIs de cache do aplicativo.Total de erros do cache
O número de solicitações por aplicativo com falha de cache.Este contador inclui o uso do cache pela estrutura de página ASP.NET e uso do cache por APIs de cache do aplicativo.Taxa total de acertos do cache
A taxa de acertos por erros do cache.Este contador inclui o uso do cache pela estrutura de página ASP.NET e uso do cache por APIs de cache do aplicativo.Taxa de renovação do cache total
O número de adições e remoções realizadas no cache por segundo, que é útil para ajudar a determinar como efetivamente o cache está sendo usado.Se a taxa de rotatividade for alta, o cache não está sendo usado com eficiência.Entradas de cache de API
O número total de entradas no cache do aplicativo.Acertos de API da cache
O número total de acertos do cache quando ele for acessado apenas por meio de APIs de cache externo.Esse contador não rastreia uso do cache pela estrutura de página ASP.NET.Erros de API de Cache
O número total de solicitações malsucedidas ao cache quando acessado por APIs de cache externas.Esse contador não rastreia uso do cache pela estrutura de página ASP.NET.Taxa de Acertos da API do cache
A taxa de sucessos-para-falhas de cache quando acessado por APIs de cache externas.Esse contador não rastreia uso do cache pela estrutura de página ASP.NET.Taxa de renovação de API do cache
O número de adições e remoções realizadas no cache por segundo quando usado por meio de APIs externas (excluindo usado pela estrutura de página ASP.NET).Ele é útil em ajudar a determinar como efetivamente o cache está sendo usado.Se a taxa de rotatividade for alta, então, o cache não está sendo usado com eficiência.Compilações totais
O número total de compilações que tenham ocorrido durante o ciclo de vida do atual processo do servidor Web.Compilação ocorre quando um arquivo com uma extensão de nome de arquivo .aspx, .asmx, .ascx, .ashx ou um arquivo de origem code-behind, é compilado dinamicamente no servidor.Esse número será inicialmente subir para um valor de pico à medida que as solicitações são feitas para todas as partes de um aplicativo.Uma vez ocorrida a compilação, no entanto, a resultante saída compilada é salva em disco, onde ela é reutilizada até que seu arquivo de origem mude .Isso significa que mesmo no caso de um processo reiniciar o contador pode permanecer em zero (inativo) até que o aplicativo seja modificado ou reimplantado.
Solicitações de depuração
O número de solicitações que ocorrem durante a depuração está habilitado.Erros durante pré-processamento
O número de erros que ocorreram durante a análise, excluindo erros de compilação e tempo de execução.Erros durante compilação
O número de erros que ocorreram durante a análise, excluindo erros de compilação e tempo de execução.Erros durante a execução
O número total de erros que ocorrem durante a execução de uma solicitação HTTP, excluindo os erros do analisador e de compilação.Erros não tratados durante a execução
O número total de erros não tratados que ocorrem durante a execução de solicitações HTTP.Um erro não tratado é qualquer exceção de tempo de execução que não for interceptada no código do usuário e insere a lógica de tratamento de erros interna do ASP.NET.Exceções a essa regra ocorrem quando:Erros personalizados estão habilitados, uma página de erro está definida, ou ambos.
O evento Page_Error é definido no código do usuário e o erro está desmarcado (usando o método ClearError) ou um redirecionamento é executado.
Erros não tratados durante a execução
O número de exceções não tratadas por segundo que ocorrem durante a execução de solicitações HTTP.Total de Erros
O número total de erros que ocorrem durante a execução de solicitações HTTP, incluindo qualquer analisador, compilação ou erros em tempo de execução.Esse contador é a soma dos contadores Erros durante compilação , Erros durante pré-processamento e Erros durante a execução .Um servidor Web well-functioning não deve gerar erros.Se ocorrerem erros no seu aplicativo ASP.NET, eles podem distorcer os resultados de taxa de transferência devido aos caminhos de código muito diferentes para recuperação de erro.Investigar e corrigir quaisquer erros no aplicativo antes de testar desempenho.Total de Erros/segundo
O número total de erros por segundo que ocorrem durante a execução de solicitações HTTP, incluindo qualquer analisador, compilação ou erros em tempo de execução.Entradas de cache de saída
O número total de entradas no cache de saída.Acertos do cache de saída
O número total de solicitações atendidas a partir do cache de saída.Erros de cache de saída
O número de solicitações por aplicativo com falha de cache.Taxa de acertos do cache de saída
A porcentagem de solicitações atendidas a partir do cache de saída.Taxa de renovação do cache de saída
O número de adições e remoções realizadas no cache de saída por segundo.Se a taxa de rotatividade for alta, o cache não está sendo usado com eficiência.Contagem de instância de pipeline
O número de instâncias de pipeline de solicitação ativa para o aplicativo ASP.NET especificado.Desde que a execução apenas de um segmento possa ser executado em uma instância de pipeline, esse número retorna o número máximo de solicitações simultâneas que estão sendo processadas para um determinado aplicativo.Na maioria das circunstâncias é melhor para este número estar abaixo quando em carregamento, que significa que o CPU é também utilizado.Solicitar bytes no total
O tamanho total em bytes de todas as solicitações.Solicitar bytes sem total
O tamanho total em bytes das respostas enviadas para um cliente.Isso não inclui cabeçalhos de resposta http.Solicitações em execução
O número de solicitações em execução atualmente.Solicitações falhadas
O número total de solicitações que falharam.Todos os códigos de status maior ou igual a 400 incrementarão esse contador.Solicitações que geram um código de status 401 incrementam esse contador e o contador Solicitações não autorizado .Solicitações que geram um código de status 404 ou 414 incrementam esse contador e o contador Solicitações não encontradas.Solicitações que geram um código de status 500 incrementam esse contador e o contador Solicitações que Atingiram o Tempo Limite.
Solicitações não encontradas
O número de solicitações que falharam porque os recursos não foram encontrados (código de status 404 ou 414).Solicitações não autorizadas
O número de solicitações que falharam devido a nenhuma autorização (código de status 401).Solicitações com êxito
O número de solicitações executadas com êxito (código de status 200).Solicitações que Atingiram o Tempo Limite
O número de solicitações cujo tempo limite esgotou (código de status 500).Solicitações no total
O número total de solicitações desde que o serviço foi iniciado.Solicitações/s
O número de solicitações executadas por segundo.Isso representa a taxa de transferência atual do aplicativo.Sob carga constante, esse número deve permanecer em um determinado intervalo, exceto outro trabalho de servidor (como coleta de lixo, segmento de limpeza do cache, ferramentas do servidor externo e assim por diante).Sessões ativas
O número de sessões ativas no momento.Esse contador é suportado apenas com estado de sessão in-memory.Sessões abandonadas
O número de sessões de usuário que foram explicitamente abandonadas.Esse contador é suportado apenas com estado de sessão in-memory.Sessões de Tempo Limite Atingido
O número de sessões que expirou.Esse contador é suportado apenas com estado de sessão in-memory.Total de sessões
O número total de sessões.Esse contador é suportado apenas com estado de sessão in-memory.Transações anuladas
O número de transações canceladas para todos os aplicativos ASP.NET ativos.Transações confirmadas
O número de transações confirmadas para todos os aplicativos ASP.NET ativos.As transações pendentes
O número de transações em andamento para todos os aplicativos ASP.NET ativos.Total de transações
O número de transações canceladas para todos os aplicativos ASP.NET ativos.Transações/s
O número de transações iniciadas por segundo para todos os aplicativos ASP.NET ativos.
Consulte também
Conceitos
Problemas de desempenho ao migrar do ASP para ASP.NET
Monitorando o desempenho de aplicativos ASP.NET