Datenbankleistung mit dem Datenträger-Cache beschleunigen

Wählen Sie eine Dokumentenversion aus:

Auf dieser Seite wird beschrieben, wie Sie das Laufwerk-Caching in AlloyDB Omni bereitstellen, einrichten und verwenden, um die Leistung Ihrer AlloyDB Omni-Installation zu steigern.

Zusätzlich zu den standardmäßigen gemeinsam genutzten In-Memory-Puffern von PostgreSQL ermöglicht der AlloyDB Omni-Festplatten-Cache das Speichern von Puffern auf schnellen Speichermedien wie Solid-State-Laufwerken (SSDs). Durch das Zwischenspeichern auf dem Laufwerk wird der Datenabruf in AlloyDB Omni-Installationen mit Datenverzeichnissen auf langsameren Speichermedien beschleunigt.

Wie die freigegebenen Puffer von PostgreSQL ist der AlloyDB Omni-Laufwerk-Cache nicht persistent. Das bedeutet, dass die im Cache gespeicherten Daten beim Neustart verloren gehen.

Standardmäßig verwendet der AlloyDB Omni-Laufwerks-Cache den gesamten vom Dateisystem gemeldeten Speicher. Mit dem Parameter omni_disk_cache_file_size können Sie die Menge an Speicherplatz definieren, die für das Zwischenspeichern von Daten reserviert ist.

AlloyDB Omni-Datenträger-Cache aktivieren

Führen Sie die Schritte in allen folgenden Unterabschnitten aus, um den Datenträger-Cache zu aktivieren:

  1. Laufwerke bereitstellen und ein Dateisystem erstellen
  2. AlloyDB Omni-Datenträger-Cache für AlloyDB Omni aktivieren

Laufwerke bereitstellen und ein Dateisystem erstellen

Für den AlloyDB Omni-Datenträger-Cache erstellen Sie ein Dateisystem auf einer oder mehreren Festplatten und stellen es bereit. Außerdem können Sie Dienstprogramme wie mdadm oder lvm verwenden, um die Kapazität mit mehreren Festplatten zu bündeln und ein beliebiges Dateisystem zu verwenden.

Die folgenden Schritte zeigen, wie Sie lvm und ext4 mit NVMe-SSDs verwenden.

  1. Erstellen Sie eine Volume-Gruppe aus allen verfügbaren physischen Geräten:

    nvme_prefix="STORAGE_PREFIX"
    nvme_list=$(ls "$nvme_prefix"*)
    sudo vgcreate VOLUME_GROUP ${nvme_list}

    Ersetzen Sie Folgendes:

    • STORAGE_PREFIX: Das Präfix des Pfads der lokalen Ziellaufwerke, die über die NVMe-Schnittstelle (Nonvolatile Memory Express) an eine VM angehängt sind. Auf Google Cloudbeginnen die NVMe-Gerätepfade beispielsweise immer mit /dev/nvme0n.
    • VOLUME_GROUP: Der Name einer Volumegruppe, in der Ihre SSDs kombiniert sind, z. B. omni-disk-cache-volume.
  2. Verwenden Sie den folgenden Befehl, um ein logisches Volume aus der kostenlosen Kapazität der Volumegruppe aus dem vorherigen Schritt zu erstellen:

    sudo lvcreate -n LOGICAL_VOLUME -l 100%FREE VOLUME_GROUP

    Ersetzen Sie LOGICAL_VOLUME durch den Namen eines logischen Volumes, das vom LVM als Partition behandelt wird, z. B. omni_disk_cache_device.

  3. Erstellen Sie das ext4-Dateisystem auf dem logischen Volume. Bei Bedarf können Sie andere ext4-Optionen angeben, die der Datensicherheit unterliegen.
    sudo mkfs.ext4 /dev/VOLUME_GROUP/LOGICAL_VOLUME
  4. Verwenden Sie den folgenden Befehl, um ein Verzeichnis als Bereitstellungspunkt auf dem Hostcomputer zu erstellen und das Dateisystem bereitzustellen:

    sudo mkdir /OMNI_DISK_CACHE_DIRECTORY
    sudo mount /dev/VOLUME_GROUP/LOGICAL_VOLUME /OMNI_DISK_CACHE_DIRECTORY

    Ersetzen Sie OMNI_DISK_CACHE_DIRECTORY durch den Namen des Verzeichnisses oder einen Pfad zu dem Verzeichnis, das als Bereitstellungspunkt dient, z. B. omni_disk_cache_directory.

Berechtigungen für das Datenträger-Cache-Verzeichnis erteilen

Bevor Sie den Datenträger-Cache für AlloyDB Omni aktivieren, müssen Sie dem Datenträger-Cache-Verzeichnis vollständige Zugriffsrechte gewähren. Führen Sie dazu die folgenden Befehle aus:

sudo chown postgres:postgres /OMNI_DISK_CACHE_DIRECTORY
sudo chmod -R a+rw  /OMNI_DISK_CACHE_DIRECTORY

Ersetzen Sie OMNI_DISK_CACHE_DIRECTORY durch den Pfad zu Ihrem Datenträger-Cache-Verzeichnis.

Datenträger-Cache aktivieren

Führen Sie die folgenden Schritte aus, um das Laufwerk-Caching für Ihre Datenbank zu aktivieren:

  1. Stellen Sie als SUPERUSER eine Verbindung zu Ihrer Datenbank her.

    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres
  2. Legen Sie die GUC-Flags (Grand Unified Configuration) omni_disk_cache_enabled und omni_disk_cache_directory fest.

    ALTER SYSTEM SET omni_disk_cache_enabled=on;
    ALTER SYSTEM SET omni_disk_cache_directory='/OMNI_DISK_CACHE_DIRECTORY';
    
  3. (Optional) Standardmäßig verwendet AlloyDB Omni den gesamten verfügbaren Speicherplatz im Dateisystem. Bei Bedarf können Sie dies überschreiben, indem Sie das GUC-Flag omni_disk_cache_file_size aktualisieren.

    ALTER SYSTEM SET omni_disk_cache_file_size=SIZE_IN_MB;
    

    Ersetzen Sie SIZE_IN_MB durch die Menge an Datenträger-Speicherplatz in MB, die der Datenträger-Cache verwenden soll.

  4. Starten Sie AlloyDB Omni neu.

    sudo systemctl restart alloydbomni18

Datenträger-Cache-Konfiguration prüfen

Nachdem Sie den AlloyDB Omni-Datenträger-Cache aktiviert haben, prüfen Sie, ob auf den Datenträger-Cache zugegriffen wird. Dazu überwachen Sie die Lese- und Schreibaktivität auf den Laufwerken mit verfügbaren Dienstprogrammen wie iotop oder iostat.

Außerdem können Sie prüfen, ob der AlloyDB Omni-Datenträger-Cache geöffnet ist.

Verwenden Sie den folgenden Befehl, um die Konfiguration des Datenträger-Caches für AlloyDB Omni zu prüfen.

sudo journalctl -u alloydbomni18 | grep "opened omni disk cache"

Wenn das Laufwerk-Caching richtig konfiguriert ist, wird in den Logs die Successfully opened omni disk cache ... Meldung angezeigt.

Nächste Schritte