Configura AlloyDB Omni per la produzione

Seleziona una versione della documentazione:

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

Abilita pagine enormi

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

  1. Esegui lo script fornito per attivare le pagine enormi sulla tua 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 al tuo postgresql.conf per attivare le pagine enormi:

      huge_pages=on
    

Attivare lo scambio

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

Per controllare la quantità di spazio di swap abilitato sul tuo sistema, esegui questo comando:

   cat /proc/meminfo | grep SwapTotal

L'output è simile al seguente:

   SwapTotal:      165748732 kB

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

Abilitare i dump del core

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

Per configurare i dump del core, configura kernel.core_pattern nel seguente modo:

  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 come "%e-%t.core".

    Per ulteriori informazioni sui pattern dei nomi dei file core, consulta Come impostare i nomi dei file core del processo.

    Il gestore systemd-coredump consente di configurare ulteriormente le impostazioni di coredump. 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 contenitore dopo la creazione della password.

Abilita il logging interno

AlloyDB Omni fornisce più messaggi oltre ai normali log PostgreSQL. Questi messaggi sono destinati all'assistenza AlloyDB per PostgreSQL a causa della loro natura tecnica. Tuttavia, informazioni aggiuntive possono essere utili per il debug dei problemi del database.

Per attivare la registrazione interna, 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 la registrazione interna, ad esempio configurando i nomi dei file di log e le norme di rotazione, utilizza i parametri PostgreSQL.

Ad esempio, il parametro log_directory specifica la directory in cui salvare un file di log, mentre 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 nel seguente modo:

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 determinate operazioni in modo che vengano avviate automaticamente 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 si avvia.

  1. Creare 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 nel seguente modo:

    sudo systemctl enable alloydb-setup-env.service

Passaggi successivi