Configurar AlloyDB Omni para producción

Selecciona una versión de la documentación:

En esta página se muestran los ajustes habituales al usar AlloyDB Omni para cargas de trabajo de producción.

Habilitar 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 de gran tamaño y también debes habilitar un ajuste 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. Añade la siguiente línea a tu archivo postgresql.conf para habilitar las páginas enormes:

    huge_pages=on
    

Habilitar el intercambio

La memoria de intercambio del sistema operativo permite ampliar 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 en la RAM para los procesos activos. AlloyDB Omni usa la memoria de intercambio cuando está sometido a una carga elevada y necesita memoria adicional.

Para comprobar 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:

Habilitar volcados principales

Si AlloyDB Omni detecta un error irrecuperable y falla, es útil tener un volcado del núcleo para analizarlo. Un volcado de memoria es una instantánea de la memoria del proceso de AlloyDB Omni en el momento en que se ha producido un fallo.

Para configurar los volcados del sistema, 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 definir kernel.core_pattern inmediatamente, usa: posix-terminal sysctl -w kernel.core_pattern="CORE_PATTERN" Sustituye 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 definir nombres de archivos principales de procesos. El gestor systemd-coredump permite configurar los ajustes de volcado de memoria. 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

Haz los cambios siguientes:

  • CONTAINER_NAME: el nombre de un nuevo contenedor de AlloyDB Omni (por ejemplo, my-omni-1).
  • <code>NEW_PASSWORD: la contraseña asignada al usuario postgres del nuevo contenedor 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

Haz los cambios siguientes:

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

Configurar unidades de systemd para ejecutar operaciones automáticamente

Si ejecutas AlloyDB Omni en un servidor dedicado, puede que quieras configurar determinadas operaciones para que se inicien automáticamente cuando se arranque el servidor. Una forma de hacerlo es mediante systemd.

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

  1. Crear 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

Siguientes pasos