Visão geral do teste de carga do Visual Studio no Windows Azure

Os principais componentes do teste de carga são descritos aqui. Para obter uma explicação geral da arquitetura do aplicativo, consulte o artigo sobre teste de carga com agentes em execução no Windows Azure – parte 1. Para obter uma visão geral dos testes de carga no Visual Studio, consulte Noções básicas sobre testes de carga.

noteObservação
Este documento é sobre uma solução geralmente "pura". Com exceção de uma cópia do Visual Studio, os componentes do teste de carga são executados como funções de trabalho do Windows Azure. Há uma alternativa para esse cenário "geralmente puro": se você executar ou hospedar qualquer um dos componentes em um ambiente misto. Por exemplo, você pode executar o controlador de teste no local com agentes que são executados em uma função de trabalho. Ou você pode usar Banco de dados SQL do Windows Azure para armazenar os dados do teste da carga. Em outras palavras, você pode distribuir os componentes de teste de carga por funções e Banco de dados SQL do Windows Azure e em locais. Para obter mais documentação sobre como selecionar e definir essas configurações alternativas, consulte este tópico: Executando testes de carga em ambientes mistos.

Benefícios

Antes de continuar com a visão geral, aqui estão algumas vantagens de usar testes de carga do Visual Studio no Windows Azure.

Custo inicial
O custo de fazer testes de carga diminui drasticamente após o investimento inicial. Os preços iniciais para o Visual Studio Ultimate e para a licença para usar o recurso Teste de Carga. Depois disso, você cria o agente do teste de carga – um projeto do Visual Studio. Você deve ter uma assinatura do Windows Azure e capacidade para implantar e executar funções da Web e de trabalho conforme necessário. Esses custos são equilibrados com os custos de propriedade do hardware e todos os custos colaterais. (Esses custos incluem software, energia elétrica, um data center e pessoal para manter o sistema inteiro.)

Custo de manutenção
Usando os procedimentos detalhados aqui, você pode criar um agente de fácil manutenção para testes de carga. Após a criação, a atualização do projeto será mínima no futuro próximo.

Resiliência
O teste de carga poderá ser alterado facilmente para acomodar cenários e condições diferentes. Por exemplo, você pode configurar o servidor hospedado pelo Azure com um número maior de funções de trabalho. Cada função torna-se um agente de teste que pode ser usado para aumentar a carga.

Repetição
Após o investimento inicial, no entanto, você pode o adaptar o teste de carga a vários assuntos de teste com tempo e custo mínimos. Basta reconfigurar o projeto de teste e reimplantá-lo no Windows Azure. Execute o teste pelo tempo necessário e desfaça a implantação. Repita conforme necessário.

Fidelidade à vida real
Como você hospeda os serviços em um grande data center, a simultaneidade do sistema é amplamente aumentada (mais sobre simultaneidade é explicado posteriormente). Hospedar o aplicativo final no Windows Azure apresenta fidelidade perfeita à implantação final.

Simultaneidade

Simultaneidade é definida como uma propriedade do sistema onde várias tarefas são executadas simultaneamente, e possivelmente interagindo. Um fator que limita a simultaneidade é o número de endereços IP disponíveis. Quanto mais endereços IP o sistema usa, maior é o processamento simultâneo. Normalmente, o número de endereços disponíveis depende do tamanho do provedor de IP. Se o contrato de nível de serviço for substancial, normalmente é atribuído um grande número de endereços IP. Mas esses contratos não são comuns. No entanto, quando você usa o Windows Azure como plataforma, tem a vantagem de usar um data center da Microsoft e seus recursos. Isso inclui um grande pool de endereços IP. Os serviços hospedados do Windows Azure são atribuídos a endereços IP virtuais. Nesta discussão, o balanceador de carga de uso externo (Internet) (não os serviços hospedados) usa os endereços IP. E ter um grande número é uma vantagem do data center da Microsoft. Observe também que nem todos os sistemas requerem esse nível de simultaneidade. Essa é uma vantagem apenas para testar um sistema de alta simultaneidade.

Essa capacidade maior para simultaneidade é outro grande benefício de executar os testes de carga no Windows Azure. Esse nível de simultaneidade também é o mais difícil de reproduzir fora de um grande data center.

Visão geral

Este gráfico ilustra os componentes de um teste de carga. Uma cópia do Visual Studio Ultimate é usada para configurar o teste de carga, bem como iniciá-lo e controlá-lo. O Visual Studio também fornece exibições gráficas dos resultados do teste. As partes do teste de carga incluem o controlador de teste, os agentes de teste e o sistema em teste. O controlador de teste e os agentes estão em execução em um data center do Windows Azure como funções de trabalho. Com exceção do sistema em teste, todos os componentes do teste de carga devem pertencer ao mesmo grupo do Windows Azure Connect. Isso permite que as partes se comuniquem livremente entre si, e com a instância do Visual Studio. Para criar os conjuntos de contadores que acompanham contadores de desempenho nos computadores que hospedam o sistema em teste, adicione esses computadores ao grupo do Windows Azure Connect.

Configuração básica de teste de carga

O teste de carga usar algumas tecnologias importantes. Suas funções no teste de carga serão descritas posteriormente neste documento. Para ver a lista completa de downloads necessários, consulte Pré-requisitos e configuração de teste de carga do Windows Azure.

Portal de Gerenciamento do Azure

O Portal de Gerenciamento é usado para criar e gerenciar estruturas principais usadas para o teste de carga. Especificamente, você usa os seguintes recursos do Azure:

Serviço hospedado do Azure
Crie um serviço hospedado para executar o aplicativo de teste de carga. O aplicativo consiste em duas funções de trabalho. A primeira função hospeda uma única instância do controlador de teste. O controlador habilita a execução remota do teste de carga. A segunda função hospeda um único agente. Você pode usar o recurso de instância do Azure para criar quantas instâncias da função de agente forem necessárias. Para obter mais informações, consulte Como escalonar aplicativos aumentando ou diminuindo o número de instâncias de função

Conta de armazenamento
Você precisa de uma conta de armazenamento do Windows Azure para manter o código compactado que é executado nas funções de trabalho. Os blobs de armazenamento contêm três arquivos .zip. Um arquivo contém o software de instalação do SQL express. O segundo contém o código do controlador. O terceira contém o código do agente. Para obter mais informações sobre como criar uma conta de armazenamento, consulte Como criar uma conta de armazenamento para uma assinatura do Windows Azure.

Grupo do Connect
Para habilitar a comunicação entre o controlador e os agentes, crie um grupo do Connect. O recurso Connect funciona como uma rede privada virtual que permite que o controlador conduza a atividade do agente. Também permite que os agentes retornem resultados do teste para o controlador. O grupo Connect também permite executar o controlador em uma cópia local do Visual Studio. Para obter mais informações, consulte Visão geral do Windows Azure Connect.

Além disso, carregue dois certificados X.509 no portal do Azure. Os certificados são exigidos para autenticar e criptografar os fluxos de dados entre o computador local e o portal do Azure. O primeiro certificado é usado para habilitar a publicação de um aplicativo do Visual Studio diretamente no Azure. Esse certificado é chamado de certificado de gerenciamento na linguagem do Azure. O segundo certificado é usado para habilitar uma conexão com a área de trabalho remota entre um computador local e uma função de trabalho do Azure. Esse certificado é chamado de certificado de serviço nos termos do Azure.

Visual Studio Ultimate

Visual Studio é o ambiente de desenvolvimento, e é a única versão que fornece a funcionalidade de teste de carga. Para fazer uma comparação entre as versões do Visual Studio, consulte o artigo sobre a comparação do Visual Studio 2010. Com o Visual Studio Ultimate, você pode criar scripts de teste para fazer o teste de carga do seu aplicativo.

O Visual Studio também tem a facilidade de gerenciar o controlador remotamente. Em um cenário não Azure, o controlador remoto seria executado em um segundo computador. No cenário do Azure, o controlador é executado em uma função de trabalho na nuvem.

SQL Server 2012 Express Edition

Coletar e armazenar os dados dos agentes requer um banco de dados. Felizmente, o SQL Server 2012 Express é uma edição gratuita, e o programa de teste de carga o usa por padrão. A única coisa necessária é que o mecanismo de banco de dados também esteja implantado na função de trabalho que também está executando o software do controlador. A configuração é realizada usando o código do método RoleEntryPoint.OnStart.

Os arquivos de dados do SQL não podem residir no disco rígido virtual da função de trabalho, pois os dados serão perdidos quando a função for reciclada. A recomendação é montar uma unidade compartilhada para a gravação de todas as funções. Os detalhes são fornecidos no artigo de blog sobre como usar o SMB para compartilhar uma unidade do Windows Azure entre várias funções.

Outra alternativa é usar o Banco de dados SQL. Baixar o arquivo loadtest2010.dacpac para provisionar o banco de dados ao Banco de dados SQL. Para obter mais informações, consulte Executando testes de carga em ambientes mistos.

Montar as partes necessárias

Para começar, baixe o software necessário para provisionar o portal do Azure e configurar o aplicativo. Você pode encontrar detalhes sobre os downloads neste tópico: Pré-requisitos e configuração de teste de carga do Windows Azure.

Provisionar o Windows Azure e configurar o aplicativo

Depois de baixar o software adicional, você pode provisionar o portal do Windows Azure e configurar o aplicativo conforme descrito posteriormente. Os detalhes para concluir cada etapa são fornecidos em Provisionando o Windows Azure para um teste de carga.

  1. Provisione o portal do Windows Azure com um novo serviço hospedado, uma conta de armazenamento e uma rede virtual do Connect.

  2. Depois de criar as contas de armazenamento e do serviço hospedado, use os valores do portal do Windows Azure para configurar o aplicativo.

  3. Crie três arquivos .zip que contenham o software que é instalado automaticamente nas funções de trabalho.

    O aplicativo requer que o software do controlador e do agente seja executado em funções de trabalho. O software para criar o controlador e os agentes é pré-criado e está disponível para você baixar. Instalar o software nas funções de trabalho envolve uma técnica: crie primeiramente dois arquivos .zip que contenham o software do controlador de teste e do agente. Use uma ferramenta de sua escolha (existem versões gratuitas) para criar os arquivos .zip. Uma vez criados os arquivos .zip, carregue os arquivos na sua conta de armazenamento do Windows Azure. Quando o aplicativo é executado, os arquivos .zip são recuperados do armazenamento, desempacotados e carregados nas funções de trabalho.

    Há um terceiro arquivo .zip que você deve criar: um que contenha o pacote de instalação do SQL Server 2008 SQL Express. Assim como nos pacotes do controlador e do agente, a instalação do SQL Server executa e implanta automaticamente uma instância do SQL Express na função de trabalho.

  4. Carregue os arquivos .zip na conta de armazenamento do Azure. Para esta tarefa, use o Storage Service Client, um projeto gratuito que você pode baixar.

  5. Crie o grupo do Windows Azure Connect no portal do Windows Azure.

  6. Instale um ponto de extremidade do Connect no computador usado para conectar à função de controlador.

  7. Configure o aplicativo com o token de ativação do Connect. O token permite que as funções de trabalho sejam adicionadas ao grupo do Connect.

Publicar o aplicativo

Uma vez provisionados e configurados corretamente o portal e o aplicativo, você pode publicar o aplicativo no Windows Azure. As etapas detalhadas são detalhadas em Publicando o teste de carga no Windows Azure.

  1. Recupere a ID da assinatura do Windows Azure. A ID é usada para permitir que o Visual Studio carregue o aplicativo em sua conta.

  2. Crie e carregue um certificado de gerenciamento. O procedimento é o seguinte.

    1. Use a caixa de diálogo Publica no Windows Azure e crie um novo certificado de gerenciamento. O certificado permite que o Windows Azure autorize quando você carrega o aplicativo.

    2. Cole a ID da assinatura na caixa de diálogo. A ID permite que o Visual Studio identifique sua conta.

  3. Exporte o certificado de gerenciamento. Para carregar o certificado, exporte-o do cache local de certificados do computador.

  4. Carregue o certificado de gerenciamento. Use o Portal de Gerenciamento para carregar o certificado.

  5. Publique o aplicativo.

Usar a Área de Trabalho Remota

Uma vez publicado o aplicativo, use a Área de Trabalho Remota para conectar-se a ele. O Visual Studio fornece as ferramentas e os recursos para habilitar essa funcionalidade. As etapas para habilitar uma conexão de área de trabalho remota encontram-se em Publicando o teste de carga no Windows Azure

Próximas etapas

Para começar, baixe as ferramentas e os componentes da solução: Pré-requisitos e configuração de teste de carga do Windows Azure


Data da compilação:

2013-07-25

Contribuições da comunidade

Mostrar: