Mempercepat performa database menggunakan cache disk

Pilih versi dokumentasi:

Halaman ini menjelaskan cara menyediakan, menyiapkan, dan menggunakan disk caching di AlloyDB Omni untuk meningkatkan performa penginstalan AlloyDB Omni.

Selain buffer bersama dalam memori PostgreSQL standar, disk cache AlloyDB Omni memungkinkan penyimpanan buffer pada penyimpanan cepat seperti solid-state drive (SSD). Disk caching mempercepat pengambilan data dalam penginstalan AlloyDB Omni dengan direktori data yang berada di penyimpanan yang lebih lambat.

Seperti buffer bersama PostgreSQL, cache disk AlloyDB Omni bersifat non-persisten, yang berarti data yang di-cache akan hilang saat dimulai ulang.

Secara default, cache disk AlloyDB Omni menggunakan semua penyimpanan yang dilaporkan oleh sistem file. Anda dapat menentukan jumlah penyimpanan yang dicadangkan untuk data caching menggunakan parameter omni_disk_cache_file_size.

Mengaktifkan cache disk AlloyDB Omni

Untuk mengaktifkan cache disk, lihat bagian berikut:

Mengaktifkan cache disk pada volume lokal

Jika ingin menggunakan volume lokal, Anda tidak perlu membuat volume persisten. Anda dapat menggunakan pengoptimalan berikut.

Untuk mengaktifkan cache disk pada volume lokal untuk database Anda, lakukan hal berikut:

  1. Ubah manifes cluster database Anda untuk menambahkan atribut ultraFastCache ke bagian features dari bagian spec:

    DBCluster:
      metadata:
        name: CLUSTER_NAME
      spec:
        databaseVersion: "18.3.0"
        primarySpec:
          features:
            ultraFastCache:
              cacheSize: DISK_CACHE_SIZE
              localVolume:
                path: "LOCAL_VOLUME_PATH"
    ...
      

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster database Anda.
    • DISK_CACHE_SIZE: ukuran cache—misalnya, 100Gi. Nilainya harus lebih besar dari shared_buffers. Kolom ini bersifat opsional. Jika Anda tidak menentukan nilai kolom ini, AlloyDB Omni akan menggunakan semua ruang yang tersisa di disk.
    • LOCAL_VOLUME_PATH: jalur ke volume lokal—misalnya, /mnt/disks/raid/0.

  2. Terapkan kembali manifes.

  3. Terapkan perubahan menggunakan antarmuka orchestrator pilihan Anda:

    Ansible

    Jika Anda mengelola infrastruktur orchestrator RPM AlloyDB Omni secara langsung menggunakan Ansible, tindakan ini akan memicu pembaruan dengan menjalankan playbook yang sesuai dan meneruskan update_action yang dipilih sebagai variabel tambahan.

    Contoh file untuk update.yml:

    ---
    - hosts: localhost
      vars:
        update_action: "update_resource_spec"
        ansible_user: your_ssh_user
        ansible_ssh_private_key_file: ~/path/to/private-key
      roles:
        - role: google.alloydbomni_orchestrator.update
    

    Jalankan perintah Ansible:

    ansible-playbook -i DEPLOYMENT_SPECIFICATION update.yml -e resource_spec="DBCLUSTER_SPECIFICATION"

    Ganti variabel berikut:

    • DEPLOYMENT_SPECIFICATION: jalur ke spesifikasi deployment yang Anda buat di Menginstal komponen AlloyDB Omni.

    • DBCLUSTER_SPECIFICATION: jalur ke spesifikasi cluster Anda.

    alloydbctl

    alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

    Ganti variabel berikut:

    • DEPLOYMENT_SPECIFICATION: jalur ke spesifikasi deployment yang Anda buat di Menginstal komponen AlloyDB Omni.

    • DBCLUSTER_SPECIFICATION: jalur ke spesifikasi cluster Anda.

Memverifikasi konfigurasi cache disk

Setelah mengaktifkan disk cache AlloyDB Omni, verifikasi bahwa disk cache diakses dengan memantau aktivitas baca dan tulis ke disk menggunakan utilitas yang tersedia seperti iotop atau iostat.

Selain itu, Anda dapat memeriksa apakah disk cache AlloyDB Omni terbuka.

Untuk memverifikasi konfigurasi disk cache untuk AlloyDB Omni, gunakan perintah berikut.

cat LOG_FILE_PATH | grep "opened omni disk cache"

Ganti LOG_FILE_PATH dengan jalur tempat log AlloyDB Omni dialihkan.

Jika disk caching Anda dikonfigurasi dengan benar, pesan Successfully opened omni disk cache ... akan ditampilkan dalam log.

Langkah berikutnya

* Tentang disk SSD lokal * Membuat dan memulai instance VM