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
Fügen Sie Ihrem
postgresql.conf
die folgende Zeile hinzu, um große Seiten zu aktivieren:huge_pages=on
Tauschen aktivieren
Durch das Auslagern im Betriebssystem kann der verfügbare physische Arbeitsspeicher erweitert werden, indem inaktive Speicherseiten zwischen dem Arbeitsspeicher (RAM) und der Festplatte 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 SwapTotal
Die 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 ein Snapshot des Speichers des AlloyDB Omni-Prozesses zum Zeitpunkt des Absturzes.
So richten Sie Core-Dumps ein:kernel.core_pattern
- Verwenden Sie den Befehl
sysctl
, um Laufzeit-Kernelparameter zu konfigurieren. Wenn Sie
kernel.core_pattern
sofort festlegen möchten, verwenden Sie:sysctl -w kernel.core_pattern="CORE_PATTERN"
Ersetzen Sie
CORE_PATTERN
durch ein Muster für den Core-Dateinamen, z. B. „%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 coredumpctl
aus, um das Tool zu installieren.Wenn Sie AlloyDB Omni starten, müssen Sie das Argument
--ulimit=core:-1:-1
im Befehldocker 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 dempostgres
-Nutzer des neuen Containers nach der Passwortgenerierung zugewiesen wurde.
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_log
aufon
fest:ALTER SYSTEM SET enable_alloydb_internal_log=on;
Weitere Informationen zum Ändern von AlloyDB Omni-Einstellungen finden Sie unter AlloyDB Omni-Datenbankparameter konfigurieren.
Zum Übernehmen der Änderungen neu starten:
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 Logdatei gespeichert werden soll, und mit dem Parameter log_filename
wird der Name der einzelnen Logdatei 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 große Seiten automatisch aktiviert werden, wenn der Server hochgefahren wird.
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