Testes de carga de solução de problemas

Este tópico lista os seguintes problemas comuns que ocorrem quando você trabalha com testes de carga em Visual Studio Ultimate.

Não é possível usar o rastreamento de SQL

Erro de teste em execução. (Computador xyz) não pôde acessar o repositório de resultado: Nome de objeto inválido 'loadtestrun'

Erro de LoadTestCounterNotFoundException

LoadTestResultsCollectorSlowException

Erro de LoadTestErrorLimitExceededException

Não é possível acessar o repositório de resultados de teste de carga

Não é possível gerar carga prevista

Limitações de geração de carga em computadores com vários núcleos

Não é possível usar o rastreamento de SQL

Quando você executa um teste de carga localmente, com o rastreamento de SQL ativado, você poderá receber a seguinte mensagem:

Erro de teste em execução. Não foi possível iniciar o rastreamento de SQL: Você não tem permissão para executar o 'sp_trace_create'

Para usar o rastreamento de SQL em um teste de carga é executado localmente em um computador que esteja executando o Windows Vista o sistema operacional, você deve ser um membro da sysadmin função na instância do SQL Server que estão sendo rastreadas. Para corrigir esse problema, um administrador de SQL Server deve adicionar você a sysadmin função.

Erro de teste em execução.(Computador xyz) não pôde acessar o repositório de resultado: Nome de objeto inválido 'loadtestrun'

Este erro indica que o esquema de banco de dados de teste de carga não foi criado. Você pode usar o Query Analyzer para executar o arquivo loadtestresultsrepository. SQL, localizado em \Common7\IDE\ < pasta de instalação do Visual Studio > para criar o banco de dados.

Se você estiver usando o SQL Express, você pode executar "sqlcmd -S. \Sqlexpress -i loadtestresultsrepository. SQL " no prompt de comando, no diretório listado anteriormente.

Aviso

Os parâmetros diferenciam maiúsculas de minúsculas. Você deve digitar a letra s maiúscula e minúscula i.

Para obter mais informações, consulte Como: Criar um repositório de resultados de teste de carga usando o SQL.

Erro de LoadTestCounterNotFoundException

Este erro ocorre quando um contador de desempenho está incluído em um dos conjuntos do contador em seu teste de carga não for encontrado na categoria de contador de desempenho que o contém. Se este for um contador que você adicionou ao conjunto de contadores, o nome do contador de desempenho possivelmente está incorreto. Também é possível que o contador de desempenho não existe mais na categoria porque o contador de desempenho foi removido em uma revisão mais recente do componente de software que define o contador de desempenho. Você poderá removê-lo do contador definido para corrigir o erro sem perder dados úteis.

Erro de LoadTestResultsCollectorSlowException

Este erro indica que o controlador de teste não foi capaz de coletar resultados do contador de desempenho de todos os computadores em que a taxa de amostragem especificado para o teste de carga. Isso pode ocorrer quando há muitos contadores de desempenho para coletar de muitos computadores diferentes, conforme especificado pelos mapeamentos definir contador para o teste de carga. Ele também pode ocorrer quando o agente de teste está sendo executado no mesmo computador como o controlador de teste. Você poderá corrigir esse erro, aumentando a taxa de amostragem para o teste de carga.

Erro de LoadTestLimitExceededException

Este erro ocorre sempre que 1000 ou mais erros do mesmo tipo ocorrerem. Ele geralmente indica que há um problema com o teste que está sendo executado o teste de carga. Por exemplo, se seus problemas de teste de desempenho da Web solicita a URLs que não são encontrados, você deverá corrigir o teste de desempenho de Web para corrigir este erro.

Não é possível acessar o repositório de resultados de teste de carga

Quando você executa um teste de carga, você pode receber a seguinte mensagem:

Não foi possível acessar o repositório de resultados de teste de carga

Uma possível causa desse erro está especificando o caso incorreto para os nomes de parâmetro quando você usa o SQLCMD o utilitário de linha de comando para configurar o load test results repositório. O código a seguir é um exemplo de comando para configurar um repositório de resultados de teste de carga em um servidor chamado ContosoServer1:

SQLCMD -S ContosoServer1 -U <user name> -P <password> -i loadtestresultsrepository.sql

Aviso

Os parâmetros diferenciam maiúsculas de minúsculas. Digite S, U e p maiúsculas e minúsculas i.

Para obter mais informações, consulte Como: Criar um repositório de resultados de teste de carga usando o SQL.

Não é possível gerar carga prevista

Um problema comum quando você executa um teste de carga não está sendo capaz de gerar a carga esperada. A tabela a seguir lista algumas causas possíveis para esse problema:

Carga máxima está sendo limitada pelo tempo de reflexão ou pelo número de usuários virtuais.

Se achar que o tempo é ativado por ele pode limitar a taxa em que cada usuário virtual pode enviar solicitações. Por exemplo, 5 segundos de tempo de reflexão por solicitação gera um máximo de 0,2 solicitações por segundo por usuário virtual. Você pode tentar uma das seguintes alterações, na ordem de preferência:

  1. Aumente o número de usuários virtuais para geração de carga mais realista. Aumentar o número de usuários virtuais geralmente requer mais memória.

  2. Reduza o tempo de reflexão.

  3. Desative o tempo de reflexão para geração de carga máxima.

Observação de cuidadoCuidado
A desativação do tempo de reflexão pode ter um grande impacto no mecanismo de teste se você desativar o tempo de reflexão, reduzir o número de usuários virtuais.

A propriedade de proxy do seu teste de desempenho de Web é definida como "padrão".

Usando o "padrão" como o proxy de configuração em um teste de desempenho de Web é conveniente, pois permite a detecção automática de proxy de servidor. No entanto, usando o "padrão" como o proxy a configuração pode causar problemas de desempenho nos testes de carga e reduzirá bastante o throughput máximo. É melhor não usar um servidor proxy quando você executa um teste de carga. Se um servidor proxy for necessário, especifique o nome do servidor proxy em vez de "padrão".

Afunilamentos de aplicativo.

Lembre-se, a ferramenta de teste de carga foi projetada para localizar gargalos em seu aplicativo. Se você tiver páginas com tempos de resposta alto por causa de um banco de dados ou um afunilamento de CPU, ele limitará o número de solicitações por segundo que cada usuário virtual pode emitir. Comece com uma pequena quantidade de carga e certificar-se de que o tempo de resposta permanece razoável à medida que aumenta a carga lentamente. Você pode usar a propriedade da meta de tempo de resposta para definir o tempo máximo de resposta esperada em cada solicitação.

A CPU, memória ou a rede do servidor Web excedeu seu limite.

Se a CPU, memória ou a rede do servidor Web excedeu seu limite, não ser capaz de gerar a carga esperada. É possível encontrar o limite de carga do servidor. Você pode aumentar a CPU, memória ou a rede do servidor Web.

A CPU, memória ou a rede do computador, gerando a carga excedeu seu limite.

Você pode precisar computadores mais potentes ou mais computadores de agente de teste, para gerar a carga desejada.

A CPU, memória ou a rede do servidor de banco de dados (se aplicável) excedeu o limite.

Se a CPU, memória ou a rede do servidor de banco de dados excedeu o limite, não ser capaz de gerar a carga esperada. É possível encontrar o limite de carga do servidor de banco de dados. Você pode aumentar a CPU, memória ou a rede do servidor de banco de dados.

Limitações de geração de carga em computadores com vários núcleos

Quando você executa testes de carga em computadores com vários núcleos, a geração de carga é limitada da seguinte maneira:

  • Se o computador estiver executando Visual Studio Ultimate a geração de carga é limitada a um núcleo.

  • Se o computador estiver executando Visual Studio Test Agent, a geração de carga é não limitada. ele é executado em todos os núcleos e processadores.

Consulte também

Tarefas

Solução de problemas para as ferramentas de teste para ALM de Visual Studio

Testes de desempenho de Web de solução de problemas

Como: Criar um repositório de resultados de teste de carga usando o SQL

Conceitos

Estratégias para a solução de problemas de controladores de teste e agentes de teste nos testes de carga

Considerações para testes de carga

Gerenciando os resultados de teste de carga no repositório de resultados de teste de carga

Análise de erros em testes de carga usando a tabela de erros

Analisando as violações de regra de limite nos testes de carga usando o Load Test Analyzer

Outros recursos

Emulação de rede nos testes de carga de solução de problemas

Solução de problemas de carga e testes de desempenho de Web

Distribuindo os testes de carga em várias máquinas de teste usando o controladores de teste e agentes de teste