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.

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
      
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, será ú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 handler 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 --ulimit=core:-1:-1 argumento no docker run comando:

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`: the name of a new
    AlloyDB Omni container—for example, `my-omni-1`.
  - `NEW_PASSWORD`: the password assigned to the new
    container's `postgres` user after the password creation.

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 o serviço do AlloyDB Omni:

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 seja necessário 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.

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

Ative o serviço da seguinte maneira:

   sudo systemctl enable alloydb-setup-env.service

A seguir