Configurar o AlloyDB Omni para produçã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. Para isso, é necessário que a máquina tenha páginas enormes ativadas e que você também ative uma configuração de banco de dados huge_pages.

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

    Docker

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

    Podman

     podman run --rm --privileged google/alloydbomni setup-host
  2. Adicione a seguinte linha ao postgresql.conf para ativar as 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 alta carga e requer mais memória.

Para verificar quanto espaço de troca está ativado no 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:

Ativar dumps de núcleo

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

Para configurar os despejos de núcleo, configure kernel.core_pattern da seguinte maneira:

  1. Use o comando sysctl para configurar os parâmetros do kernel no tempo 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 os padrões de nome de arquivo principal, consulte Como definir nomes de arquivos principais do processo.

    O gerenciador systemd-coredump permite mais configurações das configurações de coredump. 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

    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.

    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.

Configurar unidades systemd para executar operações automaticamente

Se você executar o AlloyDB Omni em um servidor dedicado, configure algumas 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 systemd para que 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