Configurer AlloyDB Omni pour la production

Sélectionnez une version de la documentation :

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

Activer les Huge Pages

AlloyDB Omni, tout comme PostgreSQL, est compatible avec l'utilisation des Huge Pages. Pour cela, vous devez activer les Huge Pages sur votre machine et activer le paramètre de base de données huge_pages.

  1. Exécutez le script fourni pour activer les Huge Pages 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 Huge Pages :

      huge_pages=on
    

Activer l'échange

L'échange 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 nécessite de la mémoire supplémentaire.

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

   cat /proc/meminfo | grep SwapTotal

La sortie ressemble à ceci :

   SwapTotal:      165748732 kB

Pour activer l'échange sur votre système d'exploitation si la valeur de sortie est 0, consultez les sections suivantes :

Activer les vidages de mémoire

Si AlloyDB Omni rencontre une erreur irrécupérable et plante, il est utile de disposer d'un vidage de mémoire pour l'analyse. Un vidage de mémoire 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 immédiatement kernel.core_pattern, utilisez la commande suivante :

    sysctl -w kernel.core_pattern="CORE_PATTERN"

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

    Pour en savoir plus sur les modèles de nom de fichier principal, consultez la section Comment définir les noms de fichiers principaux de processus.

    Le gestionnaire systemd-coredump permet de configurer davantage vos paramètres de vidage de mémoire. 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 davantage de messages en plus des journaux PostgreSQL standards. Ces messages sont destinés à l'assistance AlloyDB pour PostgreSQL en raison de leur nature technique. Toutefois, des informations supplémentaires peuvent vous 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 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 davantage la journalisation interne, par exemple en configurant les noms de fichiers journaux et les règles 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 automatiquement des opérations

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 cela, vous pouvez utiliser des unités systemd.

Par exemple, les étapes suivantes configurent systemd afin que les Huge Pages soient activées automatiquement chaque fois que le serveur démarre.

  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