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:
Cuidado
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
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