Configurer AlloyDB Omni pour la production

Sélectionnez une version de la documentation :

Cette page présente les paramètres courants à utiliser avec AlloyDB Omni pour les charges de travail de production.

Activer les Huge Pages

AlloyDB Omni, tout comme PostgreSQL, est compatible avec l'utilisation de pages volumineuses. Pour cela, vous devez activer les pages volumineuses 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 pour libérer de l'espace RAM pour les processus actifs. AlloyDB Omni utilise le swapping 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é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 ressources suivantes :

Activer les fichiers de vidage de mémoire

Si AlloyDB Omni rencontre une erreur irrécupérable et plante, il est utile de disposer d'un fichier core dump pour l'analyse. Un fichier core dump 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 noyau d'exécution.
  2. Pour définir immédiatement kernel.core_pattern, utilisez :

    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 noms de fichiers principaux, consultez Définir les noms de fichiers principaux du processus.

    Le gestionnaire systemd-coredump permet de configurer plus précisément vos paramètres de vidage du cœur. 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 habituels. Ces messages sont destinés à l'assistance AlloyDB pour PostgreSQL en raison de leur nature technique. 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 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 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 les unités systemd.

Par exemple, les étapes suivantes configurent systemd afin que les Huge Pages 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

Étapes suivantes