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

    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: posix-terminal 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 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

Sostituisci quanto segue:

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

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.
  • <code>NEW_PASSWORD: la password assegnata all'utente postgres del nuovo contenitore dopo la sua creazione.

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