Solucionando problemas de testes de carga
Este tópico lista os seguintes problemas comuns que ocorrem quando você trabalha com testes de carga em Visual Studio Team System Test Edition.
Não é possível usar o rastreamento SQL
Erro de teste em execução. (Computador xyz) não foi possível acesso o repositório de resultado: Nome de objeto inválido 'LoadTestRun'
Erro LoadTestCounterNotFoundException
LoadTestResultsCollectorSlowException
Erro LoadTestErrorLimitExceededException
Nenhum agente máquinas combinados os critérios de seleção
Não é possível acessar o repositório de resultados de teste carga
Não é possível gerar carga esperado
Limitações de geração de carga computadores multi-core
Quando você executa um teste de carga localmente, com SQL rastreamento ativado, a seguinte mensagem pode aparecer:
Erro de teste em execução.Não foi possível iniciar o rastreamento SQL: Você não tem permissão para executar o 'SP_TRACE_CREATE'
Para usar o rastreamento SQL em um teste de carga é executado localmente em um computador que esteja executando o Windows Vista sistema operacional, você deve ser um membro das sysadmin função na instância do SQL servidor que está sendo rastreado. Para corrigir esse problema, um administrador do SQL servidor deve adicionar você ao sysadmin função.
Erro de teste em execução.(Computador xyz) não foi possível acesso 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 consulta Analyzer para executar o arquivo LoadTestResultsRepository.Sql localizado na <pasta de instalar do Visual Studio > \Common7\IDE\ para criar o banco de dados.
Se você estiver usando o SQL Express, você pode executar "sqlcmd -S.\Sqlexpress -i loadtestresultsrepository.sql "em um aviso de comando no diretório listado anteriormente.
Cuidado: |
---|
Os parâmetros diferenciam maiúsculas de minúsculas.Você deve digitar S maiúsculas e em minúsculas i. |
Para obter mais informações, consulte Como: Criar um repositório de resultados usando SQL.
Este erro ocorre quando um contador de desempenho que é incluído em um dos conjuntos de contadores 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 escrito incorretamente.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ê pode removê-lo de conjunto de contadores para corrigir o erro sem perder dados úteis.
Este erro indica que o controlador não foi capaz de coletar resultados do contador de desempenho de todos os computadores da taxa de amostragem especificado para o teste de carga.Isso pode ocorrer quando existem muitos contadores de desempenho para coletar de muitos computadores diferentes, conforme especificado pelos mapeamentos conjunto contador para o teste de carga.Ele também pode ocorrer quando o agente de carga está sendo executado no mesmo computador sistema autônomo o controlador.Talvez seja possível corrigir este erro, aumentando a taxa de amostragem para o teste de carga.
Este erro ocorre sempre que 1000 ou mais erros do mesmo tipo ocorrerem.Normalmente estará indicando que há um problema com o teste está sendo executado o teste de carga.Por exemplo, se seus problemas de teste da Web solicita a URLs que não são encontrados, você deverá corrigir o teste da Web para corrigir este erro.
Quando você executa um teste em um simuladores de carga, a seguinte mensagem pode aparecer:
Nenhum agente máquinas combinados os critérios de seleção
Quando um teste está sendo executado em um simuladores de carga, você pode especificar critérios de seleção para os computadores de agente são conectados ao controlador.Por exemplo, você pode especificar que apenas agentes com um determinado sistema operacional serão usados para executar um teste.Se nenhum critérios for especificado, todos os agentes conectados ao controlador serão usados para executar o teste.Se nenhum agente coincidir com os critérios de seleção, o teste não será executado.
Para corrigir o problema de nenhum agente de computadores que correspondem aos critérios de seleção, execute as seguintes etapas:
Sobre o Teste menu, aponte para edição configurações de execução de teste e, em seguida, clicar na configuração que está ativo no momento.
Observação: Para localizar a configuração ativo no momento, nas Teste menu, aponte para selecionar ativo execução de teste configuração.A configuração ativo terão uma marca de seleção na frente dele.
Na caixa de listagem, clicar Agente e controlador.
Na grade de nome e valor, exclua os critérios que excluem os agentes que você deseja usar para executar o teste.
Quando terminar, clicar Aplicar e, em seguida, clicar OK.
Quando você executa um teste de carga, a seguinte mensagem pode aparecer:
Não foi possível acessar o repositório de resultados de teste carga
Uma causa possível deste erro está especificando o caso incorreto para os nomes de parâmetro quando você usa o SQLCMD Utilitário de linha de comando para conjunto até sua carga repositório de resultados de teste. O código a seguir é um comando de exemplo para conjunto até um teste de carga repositório de resultados em um servidor chamado ContosoServer1:
SQLCMD -S ContosoServer1 -U <user name> -P <password> -i loadtestresultsrepository.sql
Cuidado: |
---|
Os parâmetros diferenciam maiúsculas de minúsculas.Você deve digitar maiúsculas S, U e P e em minúsculas I. |
Para obter mais informações, consulte Como: Criar um repositório de resultados usando SQL.
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 deste problema:
Carga máxima está sendo limitada pelo time de raciocínio ou pelo número de usuários virtual. |
Se time de raciocínio está ativado por ele pode limitar a taxa em que cada usuário virtual pode enviar solicitações.Por exemplo, 5 segundos de time de raciocínio por solicitação gera um máximo de 0,5 solicitações por segundo por usuário virtual.Tente uma das seguintes alterações, na ordem de preferência:
|
A propriedade de proxy do seu teste da Web está definida como "padrão". |
Usando "padrão" sistema autônomo a configuração em um teste da Web do proxy é conveniente porque ela permite que a detecção de servidor de proxy automático.No entanto, usando "padrão" sistema autônomo a configuração do proxy podem causar problemas de desempenho nos testes de carga e reduzirá bastante o throughput máximo.É melhor não usar um servidor proxy ao executar um teste de carga.Se for necessário um servidor proxy, especifique o nome do servidor proxy em vez de “ padrão ”. |
Afunilamentos de aplicativo. |
Lembre-se de que a ferramenta de teste carga foi desenvolvida para localizar gargalos em seu aplicativo.Se você tiver páginas com tempos de resposta alto por causa de um banco de dados ou afunilamento de CPU, ele limitará o número de solicitações por segundo que cada usuário virtual pode emitir.Iniciar com uma pequena quantidade de carga e certifique-se de que o time de resposta permanece resistema autônomoonable sistema autônomo incresistema autônomoe a carga lentamente.Você pode usar a propriedade da meta de time de resposta para conjunto o time máximo da 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, talvez não seja 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 rede do computador gera a carga excedeu seu limite. |
Você pode precisar computadores mais potentes ou mais computadores de agente, para gerar 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, talvez não seja 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. |
Quando você executa testes de carga em computadores com vários núcleos, geração de carga é limitada a seguinte:
Se o computador estiver executando o Visual Studio Team System Test Edition ou Visual Studio Team System, a geração de carga é limitada a um principal.
Se o computador estiver executando o Visual Studio Team System Test Load Agent, a geração de carga não está limitada; ele funciona em todos os processadores e núcleos.
Solução de problemas no teste edição
Solucionando problemas de testes da Web
Solução de problemas Rigs, agentes e controladores
Como: Criar um repositório de resultados usando SQL
Considerações para testes de carga grande
Controladores, representantes e Rigs
Analisando o teste de carga Errors