Configura AlloyDB Omni per la produzione

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

Attiva pagine di grandi dimensioni

AlloyDB Omni, come PostgreSQL, supporta l'utilizzo di pagine enormi. Per farlo, è necessario che la tua macchina abbia pagine enormi abilitate e devi anche attivare un'impostazione del database huge_pages.

  1. Esegui lo script fornito per attivare le pagine di grandi dimensioni sul tuo computer:

    Docker

     docker 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 di grandi dimensioni:

      huge_pages=on
    

Attivare lo scambio

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

Per controllare lo spazio di scambio abilitato sul sistema, esegui quanto segue:

   cat /proc/meminfo | grep SwapTotal

L'output è simile al seguente:

   SwapTotal:      165748732 kB

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

Attiva i dump del core

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

Per configurare i dump core, 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 di base, ad esempio "%e-%t.core".

    Per ulteriori informazioni sui pattern dei nomi file di base, consulta Come impostare i nomi file di base del processo per maggiori dettagli.

    Il gestore systemd-coredump consente di configurare ulteriormente le impostazioni del 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 contenitore AlloyDB Omni, ad esempio my-omni-1.
    • NEW_PASSWORD: la password assegnata all'utente postgres del nuovo contenitore dopo la creazione della password.

    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 contenitore AlloyDB Omni, ad esempio my-omni-1.
    • NEW_PASSWORD: la password assegnata all'utente postgres del nuovo contenitore dopo la creazione della password.

Configurare le unità systemd per eseguire automaticamente le operazioni

Se esegui AlloyDB Omni su un server dedicato, ti consigliamo di configurare determinate operazioni in modo che vengano avviate automaticamente all'avvio del server. Un modo per farlo è utilizzare le unità systemd.

Ad esempio, i passaggi riportati di seguito configurano systemd in modo che le pagine di grandi dimensioni vengano attivate automaticamente ogni volta che il server si avvia.

  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