Contadores de desempenho de rede
O console de desempenho.Categoria de acesso à rede do NET CLR inclui contadores que fornecem informações sobre os dados que um aplicativo envia e recebe através da rede. A tabela a seguir descreve esses contadores de desempenho.
Contador de desempenho |
Descrição |
---|---|
Bytes recebidos |
Número total cumulativo de bytes recebidos por todos os Socket objetos dentro do AppDomain desde o início. Este número inclui dados e informações de protocolo que não estão definidas pelo TCP/IP. |
Bytes enviados |
O número cumulativo de bytes enviados por todos os Socket objetos dentro do AppDomain desde o início. Este número inclui dados e informações de protocolo que não estão definidas pelo TCP/IP. |
Conexões estabelecidas |
O número total cumulativo de Socket objetos de soquetes de fluxo que já estavam conectados dentro do AppDomain desde o início. |
Datagramas recebidos |
Número total cumulativo de pacotes de datagrama recebido por todos os Socket objetos dentro do AppDomain desde o início. |
Datagramas enviados |
Número total cumulativo de pacotes de datagrama enviados por todos os Socket objetos dentro do AppDomain desde o início. |
Tempo de vida média de HttpWebRequest |
O tempo médio de conclusão para todos os HttpWebRequest objetos encerrado no último intervalo dentro do AppDomain desde o início. |
Tempo de espera de HttpWebRequest média |
O tempo-em-fila média para todos os HttpWebRequest objetos deixada na fila no último intervalo dentro do AppDomain desde o início. |
HttpWebRequests criados/s |
O número de HttpWebRequest objetos criados por segundo dentro de AppDomain. |
HttpWebRequests enfileirados/s |
O número de HttpWebRequest objetos que foram adicionados à fila por segundo dentro de AppDomain. |
HttpWebRequests anuladas/s |
O número de HttpWebRequest objetos onde o aplicativo chamou a Abort método por segundo dentro de AppDomain. |
Falha de HttpWebRequests/s |
O número de HttpWebRequest objetos que recebeu um código de status de falha do servidor por segundo dentro de AppDomain. |
Comentários
Existem várias classes de suporte de contadores de desempenho de rede:
Contadores de eventos que medem o número de vezes em que ocorreu algum evento.
Contadores de dados que medem a quantidade de dados enviados ou recebidos.
Contadores de duração que medem a processos diferentes quanto levar. Os horários são medidos nos objetos de cada intervalo (geralmente em segundos) depois que eles vêm de diferentes estados.
Contadores-Interval que medem o número de objetos que estão estabelecendo uma determinada transição por intervalo (normalmente por segundo).
Os contadores de desempenho de rede para eventos incluem o seguinte:
Conexões estabelecidas
Datagramas recebidos
Datagramas enviados
Esses contadores de desempenho fornecem contagens desde o início. As contagens de Socket as conexões estabelecidas inclui explícita Socket método chama por um aplicativo para uma conexão de soquete de fluxo foi estabelecida, bem como internas chamadas feitas por outras classes (HttpWebRequest, FtpWebRequest, WebClient, e TcpClient, por exemplo) para Socket classe
As contagens de De datagramas recebidos e Datagramas enviados inclui pacotes de datagrama enviados ou recebidos usando explícita Socket método chama por um aplicativo como bem internos chamadas feitas por outras classes (UdpClient, por exemplo) para Socket. classe. As contagens De datagramas recebidos e Datagramas enviados também pode ser usado para fornecer uma medida bastante crua de quantos bytes foram enviados ou recebidos através de datagramas supondo um tamanho médio de um datagrama.
Os contadores de desempenho de rede para os dados incluem o seguinte:
Bytes recebidos
Bytes enviados
Os contadores acima fornecem contagens de bytes desde o início.
Existem dois contadores de duração medem de quanto tempo demorou HttpWebRequest ciclo de objetos para passar através de sua vida inteira ou apenas parte dela:
Tempo de vida média de HttpWebRequest
Tempo de espera de HttpWebRequest média
Para o Tempo de vida médio HttpWebRequest do contador, o tempo de vida da maioria HttpWebRequest objetos sempre começa com a hora em que o objeto é criado até o momento em que o fluxo de resposta é fechado pelo aplicativo. Há dois casos incomuns:
Se o aplicativo nunca chama o GetResponse ou BeginGetResponse métodos, em seguida, a vida útil do HttpWebRequest objeto será ignorado.
Se a HttpWebRequest objeto lança um WebException ao chamar o GetResponse ou EndGetResponse o tempo de vida de métodos, termina quando a exceção é lançada. Tecnicamente, o fluxo subjacente de resposta também é fechado nesse ponto (o fluxo de resposta retornado para o usuário é realmente um fluxo de memória contendo uma cópia de fluxo de resposta).
Existem quatro contadores controlar certos HttpWebRequest problemas de objeto por intervalo. Esses contadores de desempenho podem ajudar os desenvolvedores de aplicativos, administradores, e a equipe de suporte a compreender melhor o que o HttpWebRequest os objetos estão fazendo. Os contadores a seguir:
HttpWebRequests criados/s
HttpWebRequests enfileirados/s
HttpWebRequests anuladas/s
Falha de HttpWebRequests/s
Para o HttpWebRequests anulado/s chamadas de contador, internas para Abort também são contadas. Essas chamadas internas geralmente são causadas por tempos limites de um aplicativo pode ser medida.
O HttpWebRequests/s' contador contém o número de HttpWebRequest código de objetos recebidos de um status de falha do servidor por segundo. Isso significa que o código de status recebido do servidor no final da solicitação Http não estava no intervalo entre 200 para 299. Códigos de status que são manipulados e resultar em uma nova solicitação (vários códigos de status não autorizado 401, por exemplo) irá falhar ou não falhar com base no resultado da tentativa. Se o aplicativo veria um erro baseado na repetir, esse contador é incrementado.
Contadores de desempenho de rede podem ser acessada e gerenciados usando o PerformanceCounter e relacionados a classes de System.Diagnostics namespace. Contadores de desempenho de rede também pode ser exibida com o console do Monitor de desempenho do Windows.
Os contadores de desempenho de rede precisam ser habilitada no arquivo de configuração para ser usada. Todos os contadores de desempenho de rede habilitados ou desabilitados com uma única configuração no arquivo de configuração. Indivíduo de contadores de desempenho de rede não pode ser habilitado ou desabilitado. Para obter mais informações, consulte <performanceCounter> Elemento (configurações de rede).
Se os contadores de rede estiverem ativados, isso irá criar e atualizar por AppDomain e contadores de desempenho global. Se desativado, o aplicativo não fornecerá qualquer rede dados do contador de desempenho.
Contadores de desempenho são agrupados em categorias. Um aplicativo pode listar todas as categorias com o código de exemplo a seguir:
PerformanceCounterCategory[] Array = PerformanceCounterCategory.GetCategories();
for (int i = 0; i < Array.Length; i++)
{
Console.Out.WriteLine("{0}. Name={1} Help={2}", i, Array[i].CategoryName, Array[i].CategoryHelp);
}
Os contadores de desempenho de rede estão listados em duas categorias:
".NET CLR Networking" -os contadores de desempenho original introduzida no.NET Framework versão 2 e com suporte no.NET Framework versão 2 e posterior.
".NET CLR a 4.0.0.0 de rede " -Todos os contadores de soquete acima além de novos contadores de desempenho são suportados no.NET Framework versão 4 ou posterior. Esses novos contadores fornecem informações de desempenho HttpWebRequest objetos.
Para obter mais informações sobre como acessar e gerenciar os contadores de desempenho em um aplicativo, consulte Contadores de desempenho na.NET Framework.
Consulte também
Referência
<performanceCounter> Elemento (configurações de rede)