Configura AlloyDB Omni para producción

Selecciona una versión de la documentación:

En esta página, se muestran los parámetros de configuración comunes cuando se usa AlloyDB Omni para cargas de trabajo de producción.

Habilita las páginas enormes

Al igual que PostgreSQL, AlloyDB Omni admite el uso de páginas enormes. Para ello, tu máquina debe tener habilitadas las páginas grandes, y también debes habilitar un parámetro de configuración de la base de datos huge_pages.

  1. Ejecuta la secuencia de comandos proporcionada para habilitar las páginas enormes en tu 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. Agrega la siguiente línea a tu postgresql.conf para habilitar las páginas grandes:

      huge_pages=on
    

Habilitar el intercambio

El intercambio en el sistema operativo permite extender la memoria física disponible moviendo las páginas de memoria inactivas entre la memoria de acceso aleatorio (RAM) y el disco duro para liberar espacio de RAM para los procesos activos. AlloyDB Omni usa el intercambio cuando está bajo una carga alta y requiere memoria adicional.

Para verificar cuánto espacio de intercambio está habilitado en tu sistema, ejecuta lo siguiente:

   cat /proc/meminfo | grep SwapTotal

El resultado es similar al siguiente:

   SwapTotal:      165748732 kB

Para habilitar el intercambio en tu sistema operativo si el valor de salida es 0, consulta lo siguiente:

Habilita los volcados de memoria

Si AlloyDB Omni encuentra un error irrecuperable y falla, es útil tener un volcado de memoria para el análisis. Un volcado de memoria es un resumen de la memoria del proceso de AlloyDB Omni en el momento de su falla.

Para configurar volcados del núcleo, configura kernel.core_pattern de la siguiente manera:

  1. Usa el comando sysctl para configurar los parámetros del kernel del tiempo de ejecución.
  2. Para configurar kernel.core_pattern de inmediato, usa lo siguiente:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    Reemplaza CORE_PATTERN por un patrón de nombre de archivo principal, como "%e-%t.core".

    Para obtener más información sobre los patrones de nombres de archivos principales, consulta Cómo establecer nombres de archivos principales del proceso.

    El controlador systemd-coredump permite configurar aún más los parámetros de configuración de coredump. La herramienta está instalada de forma predeterminada en RHEL. En los sistemas Debian y Ubuntu, ejecuta sudo apt install coredumpctl para instalar la herramienta.

    Cuando inicies AlloyDB Omni, asegúrate de pasar el argumento --ulimit=core:-1:-1 en el 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
    

    Reemplaza lo siguiente:

    • CONTAINER_NAME: Es el nombre de un nuevo contenedor de AlloyDB Omni, por ejemplo, my-omni-1.
    • NEW_PASSWORD: Es la contraseña asignada al usuario postgres del contenedor nuevo después de la creación de la contraseña.

Habilita el registro interno

AlloyDB Omni proporciona más mensajes además de los registros de PostgreSQL habituales. Estos mensajes están destinados al equipo de asistencia de AlloyDB para PostgreSQL debido a su naturaleza técnica. Sin embargo, la información adicional puede ayudar a depurar problemas de la base de datos.

Para habilitar el registro interno, completa estos pasos:

  1. Establece el parámetro de la base de datos enable_alloydb_internal_log en on:

    ALTER SYSTEM SET enable_alloydb_internal_log=on;
    

    Para obtener más información sobre cómo modificar la configuración de AlloyDB Omni, consulta Configura los parámetros de la base de datos de AlloyDB Omni.

  2. Reinicia para aplicar los cambios:

    Docker

    docker restart CONTAINER_NAME
    

    Docker

    docker restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

Para personalizar aún más el registro interno, como configurar los nombres de los archivos de registro y las políticas de rotación, usa los parámetros de PostgreSQL.

Por ejemplo, el parámetro log_directory especifica el directorio en el que se guardará un archivo de registro, y el parámetro log_filename define el nombre del archivo de registro individual.

AlloyDB Omni combina los parámetros log_directory y log_filename, y guarda los registros internos de la siguiente manera:

LOG_DIRECTORY/LOG_FILENAME.internal

Configura unidades de systemd para ejecutar operaciones automáticamente

Si ejecutas AlloyDB Omni en un servidor dedicado, es posible que desees configurar ciertas operaciones para que se inicien automáticamente cuando se inicie el servidor. Una forma de hacerlo es a través de las unidades de systemd.

Por ejemplo, los siguientes pasos configuran systemd para que las páginas grandes se habiliten automáticamente cada vez que se inicie el servidor.

  1. Crea un archivo en /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. Habilita el servicio de la siguiente manera:

    sudo systemctl enable alloydb-setup-env.service

¿Qué sigue?