Partilhar via


Otimizar o Azure Functions para desempenho e custos usando o teste de carga do Azure

Neste artigo, você aprenderá a otimizar o Azure Functions para desempenho e custos usando o Teste de Carga do Azure. O plano Azure Functions Flex Consumption oferece flexibilidade e recursos personalizados que incluem rede privada, recursos de expansão rápida e grande e seleção de tamanho de memória de instância com base em um modelo sem servidor.

A ferramenta de otimização de desempenho de Teste de Carga do Azure ajuda você a decidir qual configuração é a correta do seu aplicativo executando testes de carga entre diferentes configurações de Funções. A ferramenta ajuda você a entender as implicações de desempenho e custo de diferentes configurações para ajudá-lo a tomar decisões mais informadas.

O otimizador de desempenho permite os seguintes recursos:

  • Testes simultâneos: experiência no contexto em que você pode criar e executar testes rapidamente especificando diferentes configurações de simultaneidade de memória e HTTP com cargas esperadas.
  • Comparação lado a lado: avalie as métricas de desempenho a partir dos resultados do teste de carga em configurações de escala ou simultaneidade, ajudando você a escolher a configuração certa.
  • Métricas: dimensionamento correto com base em métricas de desempenho para otimizar custos.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

  • Um aplicativo de função no plano Flex Consumption com pelo menos uma função com um gatilho HTTP. Se você precisar criar um aplicativo de função, consulte Criar e gerenciar aplicativos de função no plano Flex Consumption.

  • Para executar um perfil de teste, sua conta do Azure deve ter as seguintes permissões no aplicativo:

    • Microsoft.Web/sites/leitura
    • Microsoft.Web/sites/gravação
    • Microsoft.Web/sites/slots/leitura
    • Microsoft.Web/sites/slots/write Por padrão, a função de Colaborador do Site já tem essas permissões.

Executando o Otimizador de Desempenho em suas Funções do Azure

O otimizador de desempenho permite testar diferentes configurações para ajudá-lo a encontrar o equilíbrio certo entre desempenho e custo. Por exemplo, você pode testar métricas como tamanho da instância e valores de simultaneidade HTTP para seu aplicativo Functions. O otimizador de desempenho usa o Teste de Carga do Azure para ajudá-lo a identificar a configuração ideal do seu aplicativo para desempenho e escalabilidade. Você pode executar o otimizador de desempenho em suas funções com gatilhos HTTP. Depois de implantar seu código no Azure Functions, use as etapas a seguir para executar o otimizador.

  1. Inicie sessão no portal Azure.

  2. Aceda à aplicação Functions alojada no plano Flex Consumption.

  3. Na seção Desempenho do seu aplicativo, selecione Otimizador de desempenho.

  4. Se você não tiver um recurso de Teste de Carga do Azure na assinatura, crie um selecionando Criar recurso de Teste de Carga.

Captura de ecrã que indica a página do otimizador de desempenho no portal do Azure.

Criar um perfil de teste

Um perfil de teste descreve a configuração do aplicativo de função, os detalhes da solicitação e a configuração de carga. Para cada configuração do aplicativo Functions, um teste de carga é executado com a carga especificada. Você pode criar um perfil de teste seguindo estas etapas:

  1. Selecione Criar perfil de teste para criar um novo perfil de teste.

  2. Na guia Configuração de perfil, primeiro insira os detalhes do teste:

    Campo Descrição
    Recurso de teste de carga Selecione seu recurso de teste de carga.
    Nome do perfil de teste Insira um nome de perfil de teste exclusivo.
    Descrição do perfil de teste (Opcional) Insira uma descrição do perfil de teste.
    Executar teste após a criação Quando selecionado, o perfil de teste é iniciado automaticamente após a criação do teste.
  3. Na seção Configuração de funções , selecione a configuração do aplicativo Funções que você deseja testar. Você pode selecionar o tamanho da memória da instância e a simultaneidade HTTP. Você pode selecionar até dez combinações de memória e simultaneidade.

    Observação

    Depois que a execução do perfil de teste é iniciada, as alterações de configuração são feitas diretamente no seu aplicativo. Seu aplicativo Function será reiniciado para cada combinação especificada e um teste de carga será executado em seu aplicativo.

    Captura de tela que a página de criação de perfil de teste no portal do Azure.

  4. Na seção Detalhes da solicitação, insira os detalhes da solicitação para seu aplicativo de função. Você pode especificar o método de solicitação, URL e cabeçalhos.

  5. Selecione Adicionar solicitação para adicionar solicitações HTTP ao teste de carga.

    Na página Adicionar solicitação , insira os detalhes da solicitação:

    Campo Descrição
    Nome do pedido Nome exclusivo dentro do teste de carga para identificar a solicitação. Você pode usar esse nome de solicitação ao definir critérios de teste.
    Nome da função Selecione a função que deseja testar
    Chave Selecione a tecla necessária para acessar a função
    Método HTTP Selecione um método HTTP na lista. O Teste de Carga do Azure suporta GET, POST, PUT, DELETE, PATCH, HEAD e OPTIONS.
    Parâmetros de consultas (Opcional) Insira os parâmetros da cadeia de caracteres de consulta para anexar à URL.
    Cabeçalhos (Opcional) Insira cabeçalhos HTTP para incluir na solicitação HTTP.
    Corpo (Opcional) Dependendo do método HTTP, você pode especificar o conteúdo do corpo HTTP. O Teste de Carga do Azure suporta os seguintes formatos: dados brutos, vista JSON, JavaScript, HTML e XML.
  6. Selecione a guia Configuração de carga para configurar os parâmetros de carga para o teste de carga.

    Campo Descrição
    Instâncias do mecanismo Insira o número de instâncias do mecanismo de teste de carga. O teste de carga é executado em paralelo em todas as instâncias do motor.
    Padrão de carga Selecione o padrão de carga (linear, step, spike) para aumentar até o número de destino de usuários virtuais.
    Usuários simultâneos por mecanismo Insira o número de usuários virtuais a serem simulados em cada um dos mecanismos de teste. O número total de usuários virtuais para o teste de carga é: #test motores * #users por motor.
    Duração do teste (minutos) Insira a duração do teste de carga em minutos.
    Tempo de ramp-up (minutos) Insira o tempo de pré-aquecimento do teste de carga em minutos. O tempo de ramp-up é o tempo que leva para atingir o número alvo de usuários virtuais.
  7. Opcionalmente, defina as configurações de rede se o aplicativo Functions não estiver acessível publicamente.

    Saiba mais sobre o teste de carga de endpoints hospedados de forma privada.

  8. Selecione Rever + criar para rever a configuração do perfil de teste.

  9. Selecione Criar para criar o perfil de teste. O Teste de Carga do Azure agora cria o perfil de teste.

    Se você selecionou anteriormente Executar teste após a criação, o perfil de teste será iniciado automaticamente.

O aplicativo Functions é revertido para a configuração original após a conclusão da execução do perfil de teste.

Ver resultados

Após a conclusão da execução do perfil de teste, você poderá exibir os resultados no portal do Azure. A execução do perfil de teste contém as execuções de teste de carga para cada configuração do aplicativo Functions. Os resultados incluem métricas de desempenho, como tempo de resposta, taxa de transferência e taxa de erro para cada configuração de aplicativo de função. Você pode comparar as métricas de desempenho em diferentes configurações e escolher a configuração certa para seu aplicativo. Depois de decidir a configuração ideal, selecione Aplicar para aplicar as configurações de escala e simultaneidade ao seu aplicativo Funções.

Captura de tela que a execução do perfil de teste de criação resulta no portal do Azure.

Próximos passos