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.

Serveur unique

Activer les pages de grande taille

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

    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 de disposer d'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

    Remplacez les éléments suivants :

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

    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).
    • <code>NEW_PASSWORD: mot de passe attribué à l'utilisateur postgres du nouveau conteneur après sa création.

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