Große Seiten aktivieren
AlloyDB Omni unterstützt wie PostgreSQL die Verwendung von Huge Pages. Dazu müssen auf Ihrem Computer Huge Pages aktiviert sein. Außerdem müssen Sie die Datenbankeinstellung huge_pages aktivieren.
Führen Sie das bereitgestellte Skript aus, um auf Ihrem Computer große Seiten 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
postgresql.conf die folgende Zeile hinzu, um große Seiten zu aktivieren:
huge_pages=onTauschen aktivieren
Durch das Auslagern im Betriebssystem kann der verfügbare physische Arbeitsspeicher erweitert werden, indem inaktive Speicherseiten zwischen dem Arbeitsspeicher (RAM) und dem Laufwerk verschoben werden, um RAM-Speicherplatz für aktive Prozesse freizugeben. AlloyDB Omni verwendet Swapping, wenn die Last hoch ist und zusätzlicher Arbeitsspeicher benötigt wird.
So prüfen Sie, wie viel Auslagerungsspeicher auf Ihrem System aktiviert ist:
cat /proc/meminfo | grep SwapTotalDie Ausgabe sieht dann ungefähr so aus:
SwapTotal: 165748732 kB
Wenn der Ausgabewert 0 ist, können Sie das Swapping in Ihrem Betriebssystem so aktivieren:
Core Dumps aktivieren
Wenn in AlloyDB Omni ein nicht behebbarer Fehler auftritt und das System abstürzt, ist es hilfreich, einen Core-Dump zur Analyse zu haben. Ein Core-Dump ist eine Momentaufnahme des Speichers des AlloyDB Omni-Prozesses zum Zeitpunkt des Absturzes.
Zum Einrichten von Core-Dumps richten Sie kernel.core_pattern so ein:
- Verwenden Sie den Befehl
sysctl, um Laufzeit-Kernelparameter zu konfigurieren. Wenn Sie
kernel.core_patternsofort festlegen möchten, verwenden Sie:sysctl -w kernel.core_pattern="CORE_PATTERN"Ersetzen Sie
CORE_PATTERNdurch ein Core-Dateinamenmuster wie „%e-%t.core“.Weitere Informationen zu den wichtigsten Dateinamenmustern finden Sie unter Dateinamen für Prozesskerne festlegen.
Mit dem systemd-coredump-Handler können Sie die Coredump-Einstellungen weiter konfigurieren. Das Tool ist standardmäßig in RHEL installiert. Führen Sie auf Debian- und Ubuntu-Systemen
sudo apt install coredumpctlaus, 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`: the name of a new
AlloyDB Omni container—for example, `my-omni-1`.
- `NEW_PASSWORD`: the password assigned to the new
container's `postgres` user after the password creation.
Internes Logging aktivieren
AlloyDB Omni bietet zusätzlich zu den regulären PostgreSQL-Logs weitere Meldungen. Diese Nachrichten sind aufgrund ihrer technischen Natur für den AlloyDB for PostgreSQL-Support vorgesehen. Zusätzliche Informationen können jedoch beim Debuggen von Datenbankproblemen hilfreich sein.
So aktivieren Sie das interne Logging:
Legen Sie den Datenbankparameter
enable_alloydb_internal_logaufonfest:ALTER SYSTEM SET enable_alloydb_internal_log=on;Weitere Informationen zum Ändern von AlloyDB Omni-Einstellungen finden Sie unter AlloyDB Omni-Datenbankparameter konfigurieren.
Starten Sie den AlloyDB Omni-Dienst neu:
Docker
docker restart CONTAINER_NAME
Docker
docker restart CONTAINER_NAME
Podman
podman restart CONTAINER_NAME
Podman
podman restart CONTAINER_NAME
Wenn Sie das interne Logging weiter anpassen möchten, z. B. durch Konfigurieren von Logdateinamen und Rotationsrichtlinien, verwenden Sie PostgreSQL-Parameter.
Mit dem Parameter log_directory wird beispielsweise das Verzeichnis angegeben, in dem eine Protokolldatei gespeichert werden soll, und mit dem Parameter log_filename wird der Name der einzelnen Protokolldatei definiert.
In AlloyDB Omni werden die Parameter log_directory und log_filename kombiniert und interne Logs werden so gespeichert:
LOG_DIRECTORY/LOG_FILENAME.internal
Systemd-Units 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 Start des Servers automatisch gestartet werden.
Eine Möglichkeit dazu sind systemd-Einheiten.
Mit den folgenden Schritten wird beispielsweise systemd so konfiguriert, dass beim Starten des Servers automatisch große Seiten aktiviert werden.
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
So aktivieren Sie den Dienst:
sudo systemctl enable alloydb-setup-env.service