Ajuste inteligente no servidor flexível do Banco de Dados do Azure para PostgreSQL

Banco de Dados do Azure para PostgreSQL servidor flexível inclui um recurso de ajuste inteligente que melhora automaticamente o desempenho e ajuda a evitar problemas. O ajuste inteligente monitora continuamente o estado do banco de dados do servidor flexível do Banco de Dados do Azure para PostgreSQL e adapta dinamicamente o banco de dados à sua carga de trabalho.

Esse recurso inclui duas funções de ajuste automático:

  • Ajuste de vácuo automático: esse recurso é preterido e substituído pelo vácuo automático adaptável mais recente.
  • Ajuste de gravações: Esta função monitora o volume e os padrões de operações de gravação. Ele modifica parâmetros que afetam o desempenho de gravação. Esses ajustes aprimoram o desempenho e a confiabilidade do sistema e evitam proativamente possíveis complicações.

Saiba como configurar o ajuste inteligente.

Por que usar ajuste inteligente?

O ajuste das operações de gravação no banco de dados é uma parte crítica da manutenção da integridade e do desempenho de um servidor flexível Banco de Dados do Azure para PostgreSQL. Os administradores de banco de dados normalmente executam essa tarefa. Monitorar constantemente um banco de dados e fazer o ajuste fino de operações de gravação pode tornar-se uma tarefa desafiadora e demorada. Essa tarefa se torna cada vez mais complexa quando você está lidando com vários bancos de dados.

O ajuste inteligente simplifica esse processo. Em vez de supervisionar e ajustar manualmente seu banco de dados, use o ajuste inteligente para monitorar e ajustar automaticamente o banco de dados. Em seguida, você pode se concentrar em outras tarefas importantes.

A função de ajuste de gravações observa a quantidade e os padrões transacionais das operações de gravação. Ele ajusta de forma inteligente parâmetros como bgwriter_delay, checkpoint_completion_target, max_wal_sizee min_wal_size. Ao fazer isso, ela aprimora o desempenho e a confiabilidade do sistema, mesmo sob altas cargas de gravação.

Ao usar o ajuste inteligente, você economiza tempo e recursos valiosos contando com seu servidor Banco de Dados do Azure para PostgreSQL flexível para manter o desempenho ideal de seus bancos de dados.

Como o ajuste inteligente funciona?

O ajuste inteligente é um processo de monitoramento e análise contínuo que aprende sobre as características da carga de trabalho. Ele também controla a carga atual e o uso de recursos, como CPU ou IOPS. Ele não perturba as operações normais da carga de trabalho do aplicativo.

O processo permite que o banco de dados se ajuste dinamicamente à carga de trabalho, discernindo o desempenho de gravação atual e a eficiência do ponto de verificação em seu servidor. Usando esses insights, o ajuste inteligente implanta ações de ajuste que aprimoram o desempenho da carga de trabalho e evitam possíveis armadilhas.

Ajuste de gravações

O ajuste inteligente ajusta quatro parâmetros relacionados ao ajuste de gravações: bgwriter_delay, checkpoint_completion_target, max_wal_size e min_wal_size.

O bgwriter_delay parâmetro determina a frequência com que o processo de gravador de plano de fundo é ativado para limpar buffers "sujos" (buffers novos ou modificados). O processo de gravador em segundo plano é um dos três processos em um servidor flexível do Banco de Dados do Azure para PostgreSQL que manipula operações de gravação. Os outros processos são o processo de ponto de verificação e as gravações feitas pelo back-end (processos cliente padrão, como conexões de aplicações).

A função principal do processo do gravador em segundo plano é aliviar a carga do processo de ponto de verificação principal e diminuir a tensão das gravações de back-end. O parâmetro bgwriter_delay controla a frequência de ciclos do gravador em segundo plano. Ajustando esse parâmetro, você também pode otimizar o desempenho de consultas DML (Linguagem de manipulação de dados).

O parâmetro checkpoint_completion_target faz parte do segundo mecanismo de escrita ao qual um servidor flexível do Banco de Dados do Azure para PostgreSQL oferece suporte, especificamente o processo checkpointer. Os pontos de verificação ocorrem em intervalos constantes definidos por checkpoint_timeout (a menos que sejam forçados ao exceder o espaço configurado). Para evitar sobrecarregar o sistema de E/S com um aumento de gravações de página, a gravação de buffers sujos durante um ponto de verificação é distribuída por um período de tempo. O parâmetro checkpoint_completion_target controla essa duração usando checkpoint_timeout para especificar a duração como uma fração do intervalo de ponto de verificação.

O valor padrão de checkpoint_completion_target é 0,9 (desde o PostgreSQL 14). Esse valor geralmente funciona melhor, pois distribui a carga de E/S durante o período máximo de tempo. Em casos raros, os pontos de verificação podem não serem concluídos a tempo devido a flutuações inesperadas no número necessário de segmentos de WAL (registro em log de gravação antecipada). O potencial impacto no desempenho é o motivo pelo qual checkpoint_completion_target é uma métrica de destino para ajuste inteligente.

Limitações e problemas conhecidos

  • O ajuste inteligente faz otimizações apenas em intervalos específicos. É possível que o recurso não faça alterações.
  • O ajuste inteligente não ajusta as configurações ANALYZE.