Analisar o desempenho de uma instância do AlloyDB com o pgbench

Para avaliar a capacidade de processamento e a latência do banco de dados de referência, conecte uma instância do AlloyDB para PostgreSQL e uma instância de VM do Compute Engine em uma rede de nuvem privada virtual (VPC), instale o pgbench na VM do Compute Engine e execute comparativos de mercado de desempenho na instância do AlloyDB.

Objetivos

Neste tutorial, você aprenderá a realizar as seguintes tarefas:

  • Crie uma rede VPC para a instância do AlloyDB e a instância de VM do Compute Engine para que a comunicação entre elas seja segura.
  • Criar uma instância do AlloyDB e uma instância de VM do Compute Engine, além de atribuir e configurar sua rede VPC para as duas instâncias.
  • Instalar o pgbench na instância de VM do Compute Engine, executá-lo na instância do AlloyDB e usá-lo para realizar testes de desempenho na instância do AlloyDB.

Custos

Neste tutorial, usamos componentes faturáveis do Google Cloud, incluindo rede VPC, AlloyDB e Compute Engine. Use a calculadora de preços para gerar uma estimativa de custo com base no uso previsto.

Antes de começar

  1. No console do Google Cloud , na página do seletor de projetos, selecione ou crie um projeto do Google Cloud .

    Acessar a página do seletor de projetos

  2. Verifique se o faturamento foi ativado para o projeto Google Cloud . Saiba como confirmar se o faturamento está ativado para o projeto.

  3. Ative as APIs de rede VPC, AlloyDB e Compute Engine.

    Ativar as APIs

  4. Verifique se você tem o papel de administrador do AlloyDB atribuído à sua conta de usuário.

    Acessar a página do IAM

Crie uma rede VPC

Nesta seção, você vai criar uma rede VPC para sua instância do AlloyDB e sua instância de VM do Compute Engine para que a comunicação entre elas seja segura.

  1. Acesse a página Redes VPC no console do Google Cloud .

    Acessar a página "Redes VPC"

  2. Clique em Criar rede VPC. A página Criar uma rede VPC será exibida.

  3. Insira my-vpc-network como o Nome da sua rede VPC.

  4. Na seção Modo de criação de sub-rede, selecione a opção Personalizado.

  5. Clique em ADICIONAR SUB-REDE.

  6. Insira my-subnet como o Nome da sub-rede.

  7. Selecione uma Região e insira um Intervalo de endereços IP para a sub-rede.

  8. Clique em CONCLUÍDO.

  9. Clique em CRIAR.

Criar uma instância do AlloyDB

Nesta seção, você vai criar uma instância do AlloyDB e atribuir e configurar sua rede VPC para ela.

  1. No Google Cloud console, acesse a página Clusters.

    Acessar Clusters

  2. Clique em Criar cluster.

  3. Configure o cluster desta maneira:

    1. No campo ID do cluster da seção Informações básicas, insira my-cluster.

    2. No campo Senha, digite uma senha de sua preferência. Anote essa senha, que será usada novamente mais adiante neste tutorial.

    3. No campo Região da seção Local, selecione us-central1 (Iowa).

    4. No campo Versão do banco de dados, mantenha o valor padrão.

    5. No menu Rede, selecione my-vpc-network. Você criou essa rede VPC em Criar uma rede VPC.

    6. Como sua rede VPC ainda não inicializou o acesso a serviços particulares, clique em Configurar conexão.

    7. No painel Criar uma conexão de serviço particular que aparece:

      1. Selecione a opção Usar um intervalo de IP alocado automaticamente para que o Google Cloud selecione um intervalo de IP alocado automaticamente na sua rede.

      2. Clique em Continuar.

      3. Clique em Criar conexão.

  4. Configure a instância principal da seguinte maneira:

    1. No campo ID da instância, insira um ID para a instância primária.

    2. Em Disponibilidade por zona, selecione uma das seguintes opções:

      1. Para criar uma instância de produção altamente disponível com failover automatizado, selecione Várias zonas (Altamente disponível).

      2. Para criar uma instância básica que não precisa ser altamente disponível, selecione Zona única.

    3. Selecione um tipo de máquina.

  5. Clique em Criar cluster para criar o cluster e a instância primária juntos.

  6. Anote o endereço IP privado da instância do AlloyDB que aparece na página Instâncias do AlloyDB. Você vai precisar desse endereço para verificar a integração entre a instância do AlloyDB e a instância de VM do Compute Engine.

Crie uma instância de VM do Compute Engine

Nesta seção, você vai criar uma instância de VM do Compute Engine e atribuir e configurar sua rede VPC para a instância.

  1. Acesse a página Instâncias de VM no console do Google Cloud .

    Acessar a página "Instâncias de VM"

  2. Clique em Criar instância.

  3. No campo Nome da página Criar uma instância, insira um identificador exclusivo para a instância de VM do Compute Engine que você está criando. Neste tutorial, insira my-compute-engine-vm-instance no campo.

  4. Na seção Escopos de acesso da página, selecione a opção Permitir acesso total a todas as APIs do Cloud.

  5. Abra Opções avançadas e siga estas etapas:

    1. Clique na subguia Rede.

    2. Clique em Adicionar uma interface de rede.

    3. No menu Rede, selecione my-vpc-network. Você criou essa rede VPC em Criar uma rede VPC.

    4. Clique em Concluído. Duas redes VPC aparecem na seção Interfaces de rede da página: default e my-vpc-network.

  6. Clique em Excluir para remover a rede VPC padrão.

    Ao excluir a rede VPC padrão, você força a instância de VM do Compute Engine a usar a rede VPC criada neste tutorial.

  7. Clique em Criar.

    Pode levar alguns segundos para que a instância de VM do Compute Engine seja criada. Depois disso, a instância aparece na página Instâncias de VM, e o status dela é Em execução (conforme indicado pela marca de seleção).

Verificar a integração

Nesta seção, você vai instalar o pgbench na instância de VM do Compute Engine, executá-lo na instância do AlloyDB e usá-lo para realizar testes de desempenho na instância do AlloyDB.

  1. Conecte-se à instância de VM do Compute Engine. Para isso, clique no menu SSH à direita da instância de VM e selecione Abrir na janela do navegador.

  2. Instale o pacote de extensões e adições contribuídas para o PostgreSQL na instância de VM do Compute Engine.

    sudo apt-get -y install postgresql-contrib
  3. Inicialize um banco de dados para pgbench na instância do AlloyDB para PostgreSQL. Por exemplo, use o banco de dados postgres padrão:

    pgbench -i --host=INSTANCE_PRIVATE_IP --port=PORT_NUMBER --username=USERNAME

    Substitua:

    • INSTANCE_PRIVATE_IP: o endereço IP particular da instância do AlloyDB. Você anotou esse endereço IP quando criou a instância.
    • PORT_NUMBER: o número da porta reservada para a instância do AlloyDB. Neste tutorial, o número da porta é 5432.
    • USERNAME: o nome de usuário do administrador da instância do AlloyDB. Neste tutorial, o nome de usuário é postgres.
  4. No prompt Password, digite a senha da instância do AlloyDB. Ao criar a instância, você forneceu uma senha para ela ou o AlloyDB gerou uma senha para você.

  5. Execute pgbench sem argumentos para verificar os recursos básicos.

    pgbench --host=INSTANCE_PRIVATE_IP --port=PORT_NUMBER --username=USERNAME
  6. No prompt Password, digite a senha da instância do AlloyDB.

    A resposta será semelhante a esta:

    starting vacuum...end.
    transaction type: <builtin: TPC-B (sort of)>
    scaling factor: 1
    query mode: simple
    number of clients: 1
    number of threads: 1
    number of transactions per client: 10
    number of transactions actually processed: 10/10
    latency average = 3.794 ms
    tps = 263.560171 (including connections establishing)
    tps = 345.375423 (excluding connections establishing)
  7. Use algumas opções para fazer um teste útil. Algumas opções importantes são -c (o número de clientes) e --transactions (o número de transações por cliente).

    Neste tutorial, faça um teste de desempenho com 10 clientes que estão acessando seu banco de dados do AlloyDB para PostgreSQL e 100 transações para cada cliente.

    pgbench --host=INSTANCE_PRIVATE_IP --port=PORT_NUMBER --username=USERNAME -c 10 --transactions=100
  8. No prompt Password, digite a senha da instância do AlloyDB.

    A resposta será semelhante a esta:

    starting vacuum...end.
    transaction type:  TPC-B (sort of)>
    scaling factor: 1
    query mode: simple
    number of clients: 10
    number of threads: 1
    number of transactions per client: 100
    number of transactions actually processed: 1000/1000
    latency average = 36.421 ms
    tps = 274.563444 (including connections establishing)
    tps = 275.733225 (excluding connections establishing)

Limpar

Depois de concluir este tutorial, limpe os recursos criados para que eles não ocupem cota e você não receba cobranças por eles no futuro.

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, siga as etapas abaixo.

  1. Use o console do Google Cloud para excluir o projeto, a instância do AlloyDB, a instância de VM do Compute Engine e a rede VPC.

As próximas seções descrevem como excluir ou desativar esses recursos.

Excluir o projeto

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para este tutorial.

  1. Acesse a página Gerenciar recursos no console do Google Cloud .

    Acessar a página "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.

  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

Excluir a instância do AlloyDB

  1. Acesse a página Clusters do AlloyDB no console do Google Cloud .

    Acessar a página de clusters do AlloyDB

  2. Clique no nome da instância do AlloyDB. Neste tutorial, clique em my-instance.

  3. Clique em EXCLUIR.

  4. Na caixa de diálogo, insira o nome da instância do AlloyDB no campo de texto e clique em EXCLUIR.

Exclua a instância de VM do Compute Engine

  1. Acesse a página Instâncias de VM no console do Google Cloud .

    Acessar a página "Instâncias de VM"

  2. Clique no nome da instância de VM do Compute Engine. Neste tutorial, clique em my-compute-engine-vm-instance.

  3. Clique no ícone Excluir. Esse ícone se parece com uma lixeira.

  4. Na caixa de diálogo, clique em EXCLUIR.

Excluir a rede VPC

  1. Acesse a página Redes VPC no console do Google Cloud .

    Acessar a página "Redes VPC"

  2. Clique no nome da sua rede VPC. Para este tutorial, clique em my-vpc-network.

  3. Clique em EXCLUIR REDE VPC.

  4. Na caixa de diálogo, clique em EXCLUIR.