Acelerar o desempenho do banco de dados usando o cache do disco

Selecione uma versão da documentação:

Nesta página, descrevemos como provisionar, configurar e usar o cache de disco no AlloyDB Omni para aumentar a performance da instalação do AlloyDB Omni.

Além dos buffers compartilhados na memória do PostgreSQL padrão, o cache em disco do AlloyDB Omni permite armazenar buffers em armazenamento rápido, como unidades de estado sólido (SSDs). O cache de disco acelera a recuperação de dados em instalações do AlloyDB Omni com diretórios de dados localizados em armazenamento mais lento.

Assim como os buffers compartilhados do PostgreSQL, o cache em disco do AlloyDB Omni não é permanente, o que significa que os dados armazenados em cache são perdidos na reinicialização.

Por padrão, o cache em disco do AlloyDB Omni usa todo o armazenamento informado pelo sistema de arquivos. É possível definir a quantidade de armazenamento reservado para dados de cache usando o parâmetro omni_disk_cache_file_size.

Ativar o cache em disco do AlloyDB Omni

Para ativar o cache em disco, consulte a seção a seguir:

Ativar o cache em disco em um volume local

Se você quiser usar um volume local, não será necessário criar um volume permanente. Em vez disso, use a otimização a seguir.

Para ativar o cache em disco em um volume local do banco de dados, faça o seguinte:

  1. Modifique o manifesto do cluster de banco de dados para adicionar o atributo ultraFastCache à seção features da seção spec:

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

    Substitua:

    • CLUSTER_NAME: o nome do cluster de banco de dados.
    • DISK_CACHE_SIZE: o tamanho do cache, por exemplo, 100Gi. Precisa ser um valor maior do que shared_buffers. Este campo é opcional. Se você não especificar o valor desse campo, o AlloyDB Omni vai usar todo o espaço restante no disco.
    • LOCAL_VOLUME_PATH: o caminho para o volume local, por exemplo, /mnt/disks/raid/0.

  2. Reaplique o manifesto.

  3. Aplique as mudanças usando a interface do orquestrador de sua preferência:

    Ansible

    Se você estiver gerenciando a infraestrutura do orquestrador RPM do AlloyDB Omni diretamente usando o Ansible, ele vai acionar atualizações executando o playbook apropriado e transmitindo o update_action selecionado como uma variável extra.

    Arquivo de amostra para 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
    

    Execute o comando do Ansible:

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

    Substitua as seguintes variáveis:

    • DEPLOYMENT_SPECIFICATION: caminho para a especificação de implantação criada em Instalar componentes do AlloyDB Omni.

    • DBCLUSTER_SPECIFICATION: caminho para a especificação do cluster.

    alloydbctl

    alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

    Substitua as seguintes variáveis:

    • DEPLOYMENT_SPECIFICATION: caminho para a especificação de implantação criada em Instalar componentes do AlloyDB Omni.

    • DBCLUSTER_SPECIFICATION: caminho para a especificação do cluster.

Verificar a configuração do cache em disco

Depois de ativar o cache em disco do AlloyDB Omni, verifique se o cache em disco está sendo acessado monitorando a atividade de leitura e gravação nos discos usando utilitários disponíveis, como iotop ou iostat.

Além disso, é possível verificar se o cache em disco do AlloyDB Omni está aberto.

Para verificar a configuração do cache em disco do AlloyDB Omni, use o comando a seguir.

cat LOG_FILE_PATH | grep "opened omni disk cache"

Substitua LOG_FILE_PATH pelo caminho para onde os registros do AlloyDB Omni estão sendo redirecionados.

Se o cache de disco estiver configurado corretamente, a mensagem Successfully opened omni disk cache ... será exibida nos registros.

A seguir

* Sobre discos SSD locais * Criar e iniciar uma instância de VM