ディスク キャッシュを使用してデータベースのパフォーマンスを高速化する

ドキュメントのバージョンを選択:

このページでは、AlloyDB Omni でディスク キャッシュをプロビジョニング、設定、使用して、AlloyDB Omni のパフォーマンスを向上させる方法について説明します。

AlloyDB Omni ディスク キャッシュでは、標準の PostgreSQL インメモリ共有バッファに加えて、ソリッド ステート ドライブ(SSD)などの高速ストレージをバッファとして使用できます。ディスク キャッシュを使用すると、データ ディレクトリが低速なストレージにある AlloyDB Omni インストールでデータの取得が高速化されます。

PostgreSQL の共有バッファと同様に、AlloyDB Omni ディスク キャッシュは永続的ではありません。つまり、キャッシュに保存されたデータは再起動時に失われます。

デフォルトでは、AlloyDB Omni ディスク キャッシュはファイル システムから報告されたすべてのストレージを使用します。データ キャッシュに予約するストレージの量は、omni_disk_cache_file_size パラメータで定義できます。

AlloyDB Omni ディスク キャッシュを有効にする

ディスク キャッシュを有効にするには、次のセクションをご覧ください。

ローカル ボリュームでディスク キャッシュを有効にする

ローカル ボリュームを使用する場合は、 永続ボリュームを作成する必要はありません。 代わりに、次の最適化を行うことができます。

データベースのローカル ボリュームでディスク キャッシュを有効にするには、次の操作を行います。

  1. データベース クラスタ マニフェストを変更して、spec セクションの features セクションに ultraFastCache 属性を追加します。

    DBCluster:
      metadata:
        name: CLUSTER_NAME
      spec:
        databaseVersion: "18.3.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 オーケストレーター インフラストラクチャを直接管理している場合は、適切なプレイブックを実行し、選択した 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"

    次の変数を置き換えます。

    alloydbctl

    alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

    次の変数を置き換えます。

ディスク キャッシュの構成を確認する

AlloyDB Omni ディスク キャッシュを有効にしたら、iotopiostat などの利用可能なユーティリティを使用してディスクへの読み取り / 書き込みアクティビティをモニタリングし、ディスク キャッシュにアクセスされていることを確認します。

また、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 インスタンスの作成と起動