Partilhar via


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

 

Publicado: abril de 2016

Problemas comuns que podem ocorrer quando você trabalha com controladores de teste e agentes de teste no Visual Studio Enterprise:

Incapaz de coletar contadores de desempenho no computador do Test Agent

Definir o nível de registro em log em um computador do Test Controller

Associando um controlador de teste a um adaptador de rede

Incapaz de coletar contadores de desempenho no computador do Test Agent

Ao executar um teste de carga, você pode receber erros ao tentar se conectar a um computador do agente de teste e coletar contadores de desempenho. O serviço Registro Remoto é o serviço responsável por fornecer dados do contador de desempenho em um computador remoto. Por padrão, em computadores que executam Windows Vista, o serviço Remote Registry não inicia automaticamente. Para corrigir esse problema, inicie manualmente o serviço Remote Registry.

Dica

Você pode acessar o serviço de registro remoto no Painel de controle. Escolha Ferramentas administrativas e, em seguida, escolha serviços.

Outra causa desse problema é que você não tem permissões suficientes para ler os contadores de desempenho. Para execuções de teste locais, a conta de usuário que está executando o teste deverá ser membro do grupo Usuários Avançados ou superior, ou ser membro do grupo Usuários do Monitor de Desempenho. Para execuções de teste remotas, a conta como que o controlador está configurado para executar deve ser membro do grupo Usuários Avançados ou superior ou ser membro de um grupo de Usuários do Monitor de Desempenho.

Definir o nível de registro em log em um computador do Test Controller

Você pode controlar o nível de registro em log em um computador de controlador de teste. Isso é útil quando você está tentando diagnosticar um problema ao executar um teste de carga em um ambiente.

Para definir o nível de registro em log em um computador do controlador de teste

  1. Interrompa o serviço do controlador de testes. Em um prompt de comando, digite net stop vsttcontroller.

  2. Abra o arquivo QTController.exe.config. Este arquivo está localizado no diretório de instalação do controlador.

  3. Edite a entrada da opção EqtTraceLevel na seção de diagnóstico do sistema do arquivo. Seu código deve se parecer com este:

    <system.diagnostics>
        <trace autoflush="true" indentsize="4">
            <listeners>
                <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="d:\VSTestHost.log" />
            </listeners>
        </trace>
        <switches>
            <!-- You must use integral values for "value":
                    0 = off, 
                    1 = error,
                    2 = warn,
                    3 = info, 
                    4 = verbose. -->
            <add name="EqtTraceLevel" value="4" />
        </switches>
    </system.diagnostics>
    
  4. Salve o arquivo.

  5. Inicie o serviço do controlador. Em um prompt de comando, digite net start vsttcontroller.

Isso se aplica ao controlador de teste, ao serviço do agente de teste e ao processo do agente de teste. Ao diagnosticar problemas, é útil habilitar o registro em log desses três processos. O procedimento para definir o nível de registro em log é o mesmo para os três processos, conforme especificado anteriormente para o controlador de teste. Para definir níveis de registro em log para o serviço do agente de teste e o processo de agente, use os seguintes arquivos de configuração:

  • Serviço do controlador QTController.exe.config

  • Serviço do agenteQTAgentService.exe.config

  • Processo do adaptador de dados QTDCAgent(32).exe.config para a arquitetura de 32 bits.

  • QTDCAgent (64). exe. config processo de adaptador de dados do agente para arquitetura de 64 bits.

  • Processo de teste do agente QTAgent(32).exe.config para a arquitetura de 32 bits.

  • QTAgent (64). exe. config processo de teste do agente para arquitetura de 64 bits.

Associando um controlador de teste a um adaptador de rede

Quando tentar configurar um agente de teste, você pode receber o seguinte erro:

Error 8110. Can not connect to the specified controller computer or access the controller object.

Este erro pode ser causado instalando o controlador de teste em um computador que tem mais de um adaptador de rede.

Dica

Também é possível instalar agentes de teste com êxito e não ver esse problema até tentar executar um teste.

Para corrigir este erro, você deve associar o controlador de teste para um dos adaptadores de rede. Você precisa definir a propriedade de BindTo no controlador de teste, e alterar o agente de teste para se referir ao controlador de teste por endereço IP em vez de por nome. As etapas são fornecidas nos procedimentos a seguir.

Para obter o endereço IP do adaptador de rede

  1. Escolha Iniciar, e, em seguida, escolha executar.

    A caixa de diálogo Execução é exibida.

  2. Tipo cmd e, em seguida, escolha OK.

    Um prompt de comando se abre.

  3. Tipo ipconfig /all.

    Os endereços IP de seus adaptadores de rede são exibidos. Registre o endereço IP do adaptador de rede ao qual você deseja associar o controlador.

Para associar um controlador de teste a um adaptador de rede

  1. Interrompa o serviço do controlador de testes. Em um prompt de comando, digite net stop vsttcontroller.

  2. Abra o arquivo QTController.exe.config. Esse arquivo está localizado em <letra da unidade:>\Arquivos de Programas (x86)\Microsoft Visual Studio 12.0\Common7\IDE\.

  3. Adicionar uma entrada para a propriedade de BindTo nas configurações do aplicativo. Especificar o endereço IP do adaptador de rede para o qual você deseja associar o controlador. Seu código deve se parecer com este:

    <appSettings>
        <add key="LogSizeLimitInMegs" value="20" />
        <add key="AgentSyncTimeoutInSeconds" value="120" />
        <add key="ControllerServicePort" value="6901" />
        <add key="ControllerUsersGroup" value="TeamTestControllerUsers" />
        <add key="ControllerAdminsGroup" value="TeamTestControllerAdmins" />
        <add key="CreateTraceListener" value="no" />
        <add key="BindTo" value="<YOUR IP ADDRESS>" />
    </appSettings>
    
  4. Salve o arquivo.

  5. Inicie o serviço do controlador de testes. Em um prompt de comando, digite net start vsttcontroller.

Para conectar um agente de teste a um controlador associado

  • Execute a instalação do agente de teste novamente. Desta vez, especifique o endereço IP do controlador de teste em vez do nome do controlador de teste.

Isso se aplica ao controlador de teste, ao serviço do agente de teste e ao processo do agente de teste. A propriedade BindTo deve ser definida para cada processo em execução em um computador que tem mais de um adaptador de rede. O procedimento para definir a propriedade BindTo é o mesmo para todos os três processos, como especificado anteriormente para o controlador de testes. Para definir níveis de registro em log para o serviço do agente de teste e o processo de agente de teste, use os arquivos de configuração que são listados em Definir o nível de registro em log em um computador do Test Controller.

Consulte também

Distribuindo execuções de teste de carga em várias máquinas de teste usando controladores e agentes de teste
Configurando controladores e agentes de teste para testes de carga