使用磁碟快取提升資料庫效能

本頁面說明如何在 AlloyDB Omni 佈建、設定及使用磁碟快取,提升 AlloyDB Omni 安裝作業的效能。

除了標準 PostgreSQL 記憶體內共用緩衝區,AlloyDB Omni 磁碟快取還能將緩衝區儲存在固態硬碟 (SSD) 等快速儲存空間。如果 AlloyDB Omni 安裝作業的資料目錄位於速度較慢的儲存空間,磁碟快取可加快資料擷取速度。

與 PostgreSQL 共用緩衝區一樣,AlloyDB Omni 磁碟快取並非永久性,也就是說,重新啟動時會遺失快取資料。

根據預設,AlloyDB Omni 磁碟快取會使用檔案系統回報的所有儲存空間。您可以使用 omni_disk_cache_file_size 參數,定義要保留多少儲存空間來快取資料。

啟用 AlloyDB Omni 磁碟快取

如要啟用磁碟快取,請參閱下列章節:

在本機磁碟區啟用磁碟快取

如要使用本機磁碟區,則不必建立永久磁碟區。您可以改用下列最佳化功能。

如要在資料庫的本機磁碟區啟用磁碟快取,請按照下列步驟操作:

  1. 修改資料庫叢集資訊清單,將 ultraFastCache 屬性新增至 spec 區段的 features 區段:

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

    更改下列內容:

    • CLUSTER_NAME:資料庫叢集名稱。
    • DISK_CACHE_SIZE:快取大小,例如 100Gi。必須大於 shared_buffers。這是選填欄位。如未指定這個欄位的值,AlloyDB Omni 會使用磁碟上的所有剩餘空間。
    • LOCAL_VOLUME_PATH:本機磁碟區的路徑,例如 /mnt/disks/raid/0。

  2. 重新套用資訊清單。

  3. 使用偏好的自動化調度管理工具介面套用變更:

    Ansible

    如果您直接使用 Ansible 管理 AlloyDB Omni RPM 自動調度管理工具基礎架構,系統會執行適當的 Playbook,並將所選 update_action 做為額外變數傳遞,藉此觸發更新。

    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
    

    執行 Ansible 指令:

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

    請替換下列變數:

    • DEPLOYMENT_SPECIFICATION:您在「安裝 AlloyDB Omni 元件」中建立的 Deployment 規格路徑。

    • DBCLUSTER_SPECIFICATION:叢集規格的路徑。

    alloydbctl

    alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

    請替換下列變數:

    • DEPLOYMENT_SPECIFICATION:您在「安裝 AlloyDB Omni 元件」中建立的 Deployment 規格路徑。

    • DBCLUSTER_SPECIFICATION:叢集規格的路徑。

驗證磁碟快取設定

啟用 AlloyDB Omni 磁碟快取後,請使用 iotop 或 iostat 等可用公用程式監控磁碟的讀寫活動,確認磁碟快取是否可存取。

此外,您也可以檢查 AlloyDB Omni 磁碟快取是否已開啟。

如要驗證 AlloyDB Omni 的磁碟快取設定,請使用下列指令。

cat LOG_FILE_PATH | grep "opened omni disk cache"

將 LOG_FILE_PATH 替換為 AlloyDB Omni 記錄檔重新導向的路徑。

如果磁碟快取設定正確,記錄中會顯示 Successfully opened omni disk cache ... 訊息。

後續步驟

* 關於本機 SSD 磁碟 * 建立及啟動 VM 執行個體