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

    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 establecer el kernel.core_pattern de inmediato, usa el siguiente comando: posix-terminal 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

Reemplaza lo siguiente:

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

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.
  • <code>NEW_PASSWORD: Es la contraseña asignada al usuario postgres del contenedor nuevo después de su creación.

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?