AlloyDB Omni für die Produktion einrichten

Auf dieser Seite finden Sie häufig verwendete Einstellungen für die Verwendung von AlloyDB Omni für Produktionsarbeitslasten.

Riesige Seiten aktivieren

AlloyDB Omni unterstützt genau wie PostgreSQL die Verwendung von Huge Pages. Dazu müssen auf Ihrem Computer riesige Seiten aktiviert sein und Sie müssen die Datenbankeinstellung huge_pages aktivieren.

  1. Führen Sie das bereitgestellte Script aus, um große Seiten auf Ihrem Computer zu aktivieren:

    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. Fügen Sie Ihrem postgresql.conf die folgende Zeile hinzu, um große Seiten zu aktivieren:

      huge_pages=on
    

Auslagerung aktivieren

Durch das Auslagern im Betriebssystem kann der verfügbare physische Arbeitsspeicher erweitert werden, indem inaktive Arbeitsspeicherseiten zwischen dem Arbeitsspeicher (Random Access Memory, RAM) und der Festplatte verschoben werden, um RAM-Speicherplatz für aktive Prozesse freizugeben. AlloyDB Omni verwendet die Auslagerung, wenn die Auslastung hoch ist und zusätzlicher Arbeitsspeicher erforderlich ist.

So prüfen Sie, wie viel Auslagerungsbereich auf Ihrem System aktiviert ist:

   cat /proc/meminfo | grep SwapTotal

Die Ausgabe sieht dann ungefähr so aus:

   SwapTotal:      165748732 kB

So aktivieren Sie das Auslagern in Ihrem Betriebssystem, wenn der Ausgabewert 0 ist:

Core Dumps aktivieren

Wenn AlloyDB Omni einen nicht wiederherstellbaren Fehler auftritt und abstürzt, ist es hilfreich, einen Core-Dump zur Analyse zu haben. Ein Core-Dump ist ein Snapshot des Arbeitsspeichers des AlloyDB Omni-Prozesses zum Zeitpunkt des Absturzes.

So richten Sie Coredumps ein:kernel.core_pattern

  1. Verwenden Sie den Befehl sysctl, um Kernelparameter zur Laufzeit zu konfigurieren.
  2. Wenn Sie kernel.core_pattern sofort festlegen möchten, verwenden Sie Folgendes:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    Ersetzen Sie CORE_PATTERN durch ein Kerndateinamenmuster wie „%e-%t.core“.

    Weitere Informationen zu Mustern für Kerndateinamen finden Sie unter Dateinamen für Prozesskerne festlegen.

    Mit dem systemd-coredump-Handler können Sie Ihre Coredump-Einstellungen weiter konfigurieren. Das Tool ist standardmäßig in RHEL installiert. Führen Sie unter Debian- und Ubuntu-Systemen sudo apt install coredumpctl aus, um das Tool zu installieren.

    Wenn Sie AlloyDB Omni starten, müssen Sie das Argument --ulimit=core:-1:-1 im Befehl docker run übergeben:

    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
    

    Ersetzen Sie Folgendes:

    • CONTAINER_NAME: Der Name eines neuen AlloyDB Omni-Containers, z. B. my-omni-1.
    • NEW_PASSWORD: Das Passwort, das dem postgres-Nutzer des neuen Containers nach der Passwortgenerierung zugewiesen wurde.

Internes Logging aktivieren

AlloyDB Omni bietet zusätzlich zu den regulären PostgreSQL-Protokollen weitere Meldungen. Diese Meldungen sind aufgrund ihrer technischen Natur für den AlloyDB for PostgreSQL-Support bestimmt. Zusätzliche Informationen können jedoch bei der Behebung von Datenbankproblemen helfen.

So aktivieren Sie die interne Protokollierung:

  1. Legen Sie den Datenbankparameter enable_alloydb_internal_log auf on fest:

      ALTER SYSTEM SET enable_alloydb_internal_log=on;
    

    Weitere Informationen zum Ändern der AlloyDB Omni-Einstellungen finden Sie unter AlloyDB Omni-Datenbankparameter konfigurieren.

  2. Starten Sie das Gerät neu, damit die Änderungen übernommen werden:

    Docker

    docker restart CONTAINER_NAME
    

    Docker

    docker restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

Mit PostgreSQL-Parametern können Sie das interne Logging anpassen, z. B. die Namen von Protokolldateien und Rotationsrichtlinien.

Mit dem Parameter log_directory wird beispielsweise das Verzeichnis angegeben, in dem eine Protokolldatei gespeichert werden soll, und mit dem Parameter log_filename der Name der einzelnen Protokolldatei.

In AlloyDB Omni werden die Parameter log_directory und log_filename kombiniert und interne Protokolle werden so gespeichert:

LOG_DIRECTORY/LOG_FILENAME.internal

Systemd-Einheiten einrichten, um Vorgänge automatisch auszuführen

Wenn Sie AlloyDB Omni auf einem dedizierten Server ausführen, können Sie bestimmte Vorgänge so konfigurieren, dass sie beim Starten des Servers automatisch gestartet werden. Eine Möglichkeit dazu sind systemd-Einheiten.

Mit den folgenden Schritten wird systemd beispielsweise so konfiguriert, dass große Seiten beim Starten des Servers automatisch aktiviert werden.

  1. So erstellen Sie eine Datei 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. So aktivieren Sie den Dienst:

      sudo systemctl enable alloydb-setup-env.service

Nächste Schritte