Configurer AlloyDB Omni pour la production

Cette page présente les paramètres courants lorsque vous utilisez AlloyDB Omni pour des charges de travail de production.

Activer les pages énormes

Tout comme PostgreSQL, AlloyDB Omni permet d'utiliser des pages énormes. Pour ce faire, vous devez activer les pages énormes sur votre machine et un paramètre de base de données huge_pages.

  1. Exécutez le script fourni pour activer les pages énormes sur votre machine:

    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. Ajoutez la ligne suivante à votre fichier postgresql.conf pour activer les pages énormes:

      huge_pages=on
    

Activer le swap

Le swap dans le système d'exploitation permet d'étendre la mémoire physique disponible en déplaçant les pages de mémoire inactives entre la mémoire vive (RAM) et le disque dur afin de libérer de l'espace RAM pour les processus actifs. AlloyDB Omni utilise l'échange lorsqu'il est soumis à une charge élevée et qu'il a besoin de mémoire supplémentaire.

Pour vérifier la quantité d'espace d'échange activé sur votre système, exécutez la commande suivante:

   cat /proc/meminfo | grep SwapTotal

La sortie ressemble à ceci :

   SwapTotal:      165748732 kB

Pour activer le swap sur votre système d'exploitation si la valeur de sortie est 0, consultez les informations suivantes:

Activer les fichiers de vidage de mémoire

Si AlloyDB Omni rencontre une erreur irrécupérable et plante, il est utile d'avoir un dump de mémoire vive pour l'analyse. Un dump de noyau est un instantané de la mémoire du processus AlloyDB Omni au moment de son plantage.

Pour configurer les vidages de mémoire, configurez kernel.core_pattern comme suit:

  1. Utilisez la commande sysctl pour configurer les paramètres du kernel au moment de l'exécution.
  2. Pour définir kernel.core_pattern immédiatement, utilisez:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    Remplacez CORE_PATTERN par un modèle de nom de fichier de noyau, tel que "%e-%t.core".

    Pour en savoir plus sur les modèles de noms de fichiers principaux, consultez Définir les noms de fichiers principaux de processus.

    Le gestionnaire systemd-coredump permet de configurer davantage vos paramètres de coredump. L'outil est installé par défaut dans RHEL. Sur les systèmes Debian et Ubuntu, exécutez sudo apt install coredumpctl pour installer l'outil.

    Lorsque vous démarrez AlloyDB Omni, assurez-vous de transmettre l'argument --ulimit=core:-1:-1 dans la commande 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
    

    Remplacez les éléments suivants :

    • CONTAINER_NAME: nom d'un nouveau conteneur AlloyDB Omni (par exemple, my-omni-1).
    • NEW_PASSWORD: mot de passe attribué à l'utilisateur postgres du nouveau conteneur après la création du mot de passe.

Activer la journalisation interne

AlloyDB Omni fournit plus de messages en plus des journaux PostgreSQL standards. En raison de leur nature technique, ces messages sont destinés à l'assistance AlloyDB pour PostgreSQL. Toutefois, des informations supplémentaires peuvent aider à déboguer les problèmes de base de données.

Pour activer la journalisation interne, procédez comme suit:

  1. Définissez le paramètre de base de données enable_alloydb_internal_log sur on:

      ALTER SYSTEM SET enable_alloydb_internal_log=on;
    

    Pour en savoir plus sur la modification des paramètres AlloyDB Omni, consultez Configurer les paramètres de la base de données AlloyDB Omni.

  2. Redémarrez pour appliquer les modifications:

    Docker

    docker restart CONTAINER_NAME
    

    Docker

    docker restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

Pour personnaliser la journalisation interne, par exemple en configurant les noms de fichiers journaux et les stratégies de rotation, utilisez les paramètres PostgreSQL.

Par exemple, le paramètre log_directory spécifie le répertoire dans lequel enregistrer un fichier journal, et le paramètre log_filename définit le nom du fichier journal individuel.

AlloyDB Omni combine les paramètres log_directory et log_filename, et enregistre les journaux internes comme suit:

LOG_DIRECTORY/LOG_FILENAME.internal

Configurer des unités systemd pour exécuter des opérations automatiquement

Si vous exécutez AlloyDB Omni sur un serveur dédié, vous pouvez configurer certaines opérations pour qu'elles démarrent automatiquement au démarrage du serveur. Pour ce faire, vous pouvez utiliser des unités systemd.

Par exemple, les étapes suivantes configurent systemd afin que les pages énormes soient activées automatiquement à chaque démarrage du serveur.

  1. Créez un fichier dans /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. Activez le service comme suit:

      sudo systemctl enable alloydb-setup-env.service

Étape suivante