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, prend en charge l'utilisation de 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.

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
      
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 vous 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 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 du 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 la section Comment définir les noms de fichiers principaux des 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' --ulimit=core:-1:-1 argument dans la docker run commande :

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`: the name of a new
    AlloyDB Omni container—for example, `my-omni-1`.
  - `NEW_PASSWORD`: the password assigned to the new
    container's `postgres` user after the password creation.

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 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 le service AlloyDB Omni :

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 au démarrage du serveur.

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

Activez le service comme suit :

   sudo systemctl enable alloydb-setup-env.service

Étape suivante