Configurar o AlloyDB Omni para produção

Selecione uma versão da documentação:

Esta página mostra as configurações comuns ao usar o AlloyDB Omni para cargas de trabalho de produção.

Ativar páginas enormes

O AlloyDB Omni, assim como o PostgreSQL, oferece suporte ao uso de páginas enormes. Isso exige que as páginas enormes estejam ativadas na sua máquina. Além disso, você também precisa ativar uma configuração de banco de dados huge_pages.

  1. Execute o script fornecido para ativar páginas enormes na sua máquina:

    Docker

    docker run --rm --privileged google/alloydbomni setup-host
    

    Docker

    docker run --rm --privileged google/alloydbomni setup-host
    

    Podman

    podman run --rm --privileged google/alloydbomni setup-host
    

    Podman

    podman run --rm --privileged google/alloydbomni setup-host
    
  2. Adicione a seguinte linha ao arquivo postgresql.conf para ativar páginas enormes:

      huge_pages=on
    

Ativar a troca

A troca no sistema operacional permite estender a memória física disponível movendo páginas de memória inativas entre a memória de acesso aleatório (RAM) e o disco rígido para liberar espaço na RAM para processos ativos. O AlloyDB Omni usa a troca quando está sob carga alta e exige memória extra.

Para verificar quanto espaço de troca está ativado no seu sistema, execute o seguinte:

   cat /proc/meminfo | grep SwapTotal

A saída será assim:

   SwapTotal:      165748732 kB

Para ativar a troca no sistema operacional se o valor de saída for 0, consulte o seguinte:

Ativar despejos de memória

Se o AlloyDB Omni encontrar um erro irrecuperável e falhar, é útil ter um despejo de memória para análise. Um despejo de memória é um snapshot da memória do processo do AlloyDB Omni no momento da falha.

Para configurar despejos de memória, configure kernel.core_pattern da seguinte maneira:

  1. Use o comando sysctl para configurar parâmetros do kernel de execução.
  2. Para definir o kernel.core_pattern imediatamente, use:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    Substitua CORE_PATTERN por um padrão de nome de arquivo principal, como "%e-%t.core".

    Para mais informações sobre padrões de nome de arquivo principal, consulte Como definir nomes de arquivos principais de processos para mais detalhes.

    O gerenciador systemd-coredump permite mais configurações das configurações de despejo de memória. A ferramenta é instalada por padrão no RHEL. Em sistemas Debian e Ubuntu, execute sudo apt install coredumpctl para instalar a ferramenta.

    Ao iniciar o AlloyDB Omni, transmita o argumento --ulimit=core:-1:-1 no comando docker run:

    Docker

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni
    

    Docker

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni
    

    Podman

    podman run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni
    

    Podman

    podman run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni
    

    Substitua:

    • CONTAINER_NAME: o nome de um novo contêiner do AlloyDB Omni. Por exemplo, my-omni-1.
    • NEW_PASSWORD: a senha atribuída ao usuário postgres do novo contêiner após a criação da senha.

Ativar a geração de registros internos

O AlloyDB Omni fornece mais mensagens além dos registros normais do PostgreSQL. Essas mensagens são destinadas ao suporte do AlloyDB para PostgreSQL devido à natureza técnica delas. No entanto, informações adicionais podem ajudar na depuração de problemas do banco de dados.

Para ativar a geração de registros internos, siga estas etapas:

  1. Defina o parâmetro de banco de dados enable_alloydb_internal_log como on:

    ALTER SYSTEM SET enable_alloydb_internal_log=on;
    

    Para mais informações sobre como modificar as configurações do AlloyDB Omni, consulte Configurar parâmetros do banco de dados do AlloyDB Omni.

  2. Reinicie para implementar as mudanças:

    Docker

    docker restart CONTAINER_NAME
    

    Docker

    docker restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

Para personalizar a geração de registros internos, como configurar nomes de arquivos de registro e políticas de rotação, use parâmetros do PostgreSQL.

Por exemplo, o parâmetro log_directory especifica o diretório em que um arquivo de registro será salvo, e o parâmetro log_filename define o nome do arquivo de registro individual.

O AlloyDB Omni combina os parâmetros log_directory e log_filename e salva registros internos da seguinte maneira:

LOG_DIRECTORY/LOG_FILENAME.internal

Configurar unidades systemd para executar operações automaticamente

Se você executar o AlloyDB Omni em um servidor dedicado, talvez queira configurar determinadas operações para serem iniciadas automaticamente quando o servidor for inicializado. Uma maneira de fazer isso é usando unidades systemd.

Por exemplo, as etapas a seguir configuram o systemd para que as páginas enormes sejam ativadas automaticamente sempre que o servidor for inicializado.

  1. Crie um arquivo em /etc/systemd/system/alloydb-setup-env.service:

    [Unit]
    Description=Setup huge pages for AlloyDB Omni
    
    [Service]
    Type=oneshot
    
    ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host
    
    [Install]
    WantedBy=multi-user.target
    
  2. Ative o serviço da seguinte maneira:

    sudo systemctl enable alloydb-setup-env.service

A seguir