Configura AlloyDB Omni per la produzione

Seleziona una versione della documentazione:

Questa pagina mostra le impostazioni comuni quando si utilizza AlloyDB Omni per i carichi di lavoro di produzione.

Attivare le pagine enormi

AlloyDB Omni, proprio come PostgreSQL, supporta l'utilizzo di pagine enormi. Per farlo, devi attivare le pagine enormi sulla macchina e anche un'impostazione del database huge_pages.

  1. Esegui lo script fornito per attivare le pagine enormi sulla macchina:

    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. Aggiungi la seguente riga a postgresql.conf per attivare le pagine enormi:

      huge_pages=on
    

Attivare lo swapping

Lo swapping nel sistema operativo consente di estendere la memoria fisica disponibile spostando le pagine di memoria inattive tra la RAM (Random Access Memory) e il disco rigido per liberare spazio nella RAM per i processi attivi. AlloyDB Omni utilizza lo swapping quando è sotto carico elevato e richiede memoria aggiuntiva.

Per verificare la quantità di spazio di swapping attivato sul sistema, esegui il comando seguente:

   cat /proc/meminfo | grep SwapTotal

L'output è simile al seguente:

   SwapTotal:      165748732 kB

Per attivare lo swapping sul sistema operativo se il valore di output è 0, consulta quanto segue:

Attivare i dump di memoria

Se AlloyDB Omni rileva un errore irreversibile e si arresta in modo anomalo, è utile avere un dump di memoria per l'analisi. Un dump di memoria è uno snapshot della memoria del processo AlloyDB Omni al momento dell'arresto anomalo.

Per configurare i dump di memoria, configura kernel.core_pattern come segue:

  1. Utilizza il comando sysctl per configurare i parametri del kernel di runtime.
  2. Per impostare immediatamente kernel.core_pattern, utilizza:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    Sostituisci CORE_PATTERN con un pattern di nome file principale, ad esempio "%e-%t.core".

    Per ulteriori informazioni sui pattern di nome file principale, consulta Come impostare i nomi dei file principali dei processi per i dettagli.

    Il gestore systemd-coredump consente di configurare ulteriormente le impostazioni dei dump di memoria. Lo strumento è installato per impostazione predefinita in RHEL. Sui sistemi Debian e Ubuntu, esegui sudo apt install coredumpctl per installare lo strumento.

    Quando avvii AlloyDB Omni, assicurati di passare l'argomento --ulimit=core:-1:-1 nel comando 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
    

    Sostituisci quanto segue:

    • CONTAINER_NAME: il nome di un nuovo container AlloyDB Omni, ad esempio my-omni-1.
    • NEW_PASSWORD: la password assegnata all'utente postgres del nuovo container dopo la creazione della password.

Attivare il logging interno

AlloyDB Omni fornisce altri messaggi oltre ai log di PostgreSQL standard. Questi messaggi sono destinati all'assistenza di AlloyDB per PostgreSQL a causa della loro natura tecnica. Tuttavia, le informazioni aggiuntive possono aiutare a eseguire il debug dei problemi del database.

Per attivare il logging interno, completa questi passaggi:

  1. Imposta il parametro del database enable_alloydb_internal_log su on:

    ALTER SYSTEM SET enable_alloydb_internal_log=on;
    

    Per ulteriori informazioni sulla modifica delle impostazioni di AlloyDB Omni, consulta Configurare i parametri del database AlloyDB Omni.

  2. Riavvia per applicare le modifiche:

    Docker

    docker restart CONTAINER_NAME
    

    Docker

    docker restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

Per personalizzare ulteriormente il logging interno, ad esempio configurando i nomi dei file di log e le policy di rotazione, utilizza i parametri di PostgreSQL.

Ad esempio, il parametro log_directory specifica la directory in cui salvare un file di log e il parametro log_filename definisce il nome del singolo file di log.

AlloyDB Omni combina i parametri log_directory e log_filename e salva i log interni come segue:

LOG_DIRECTORY/LOG_FILENAME.internal

Configurare le unità systemd per eseguire automaticamente le operazioni

Se esegui AlloyDB Omni su un server dedicato, potresti voler configurare l'avvio automatico di determinate operazioni all'avvio del server. Un modo per farlo è tramite le unità systemd.

Ad esempio, i seguenti passaggi configurano systemd in modo che le pagine enormi vengano attivate automaticamente ogni volta che il server viene avviato.

  1. Crea un file in /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. Attiva il servizio come segue:

    sudo systemctl enable alloydb-setup-env.service

Passaggi successivi