Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL tem um recurso de ajuste inteligente projetado para melhorar o desempenho automaticamente e ajudar a evitar problemas. O ajuste inteligente monitora continuamente o status do banco de dados de servidor flexível do Banco de Dados do Azure para PostgreSQL e adapta dinamicamente o banco de dados à sua carga de trabalho.
Esse recurso é composto por duas funções de ajuste automático:
- Ajuste de vácuo automático: essa função acompanha a taxa de sobrecarga e ajusta as configurações de vácuo automático conforme o necessário. Ele é aplicado no uso de recursos atuais e previstos para evitar interrupções na carga de trabalho.
- Ajuste de gravações: essa função monitora o volume e os padrões das operações de gravação e modifica os parâmetros que afetam o desempenho de gravação. Esses ajustes aprimoram o desempenho e a confiabilidade do sistema, para evitar proativamente possíveis complicações.
Você pode habilitar o ajuste inteligente usando o portal do Azure ou a CLI do Azure.
Por que usar o ajuste inteligente?
O processo de vácuo automático é uma parte crítica da manutenção da integridade e do desempenho de um banco de dados de servidor flexível do Banco de Dados do Azure para PostgreSQL. Ele ajuda a recuperar o armazenamento ocupado por linhas “mortas”, liberando espaço e mantendo o banco de dados em execução sem problemas.
O ajuste de operações de gravação no banco de dados é igualmente importante. Essa tarefa normalmente se enquadra em administradores de banco de dados. 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.
É aqui que o ajuste inteligente entra em cena. Em vez de supervisionar e ajustar manualmente seu banco de dados, você pode usar 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 vácuo automático no ajuste inteligente monitora a taxa de sobrecarga e ajusta as configurações conforme necessário para a utilização ideal de recursos. Ela gerencia proativamente o processo de “limpeza” do banco de dados e atenua problemas de desempenho que dados desatualizados podem causar.
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ê pode economizar tempo e recursos valiosos contando com sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL 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 não só aprende sobre as características da sua carga de trabalho, mas também acompanha 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 estimando a taxa de sobrecarga atual, o desempenho de gravação e a eficiência do ponto de verificação em sua instância. Com 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 vácuo automático
O ajuste inteligente ajusta cinco parâmetros relacionados ao vácuo automático: autovacuum_vacuum_scale_factor, autovacuum_cost_limit, autovacuum_naptime, autovacuum_vacuum_threshold e autovacuum_vacuum_cost_delay. Esses parâmetros regulam componentes como:
- A fração da tabela que define um processo
VACUUM. - O limite de atraso de vácuo baseado em custo.
- O intervalo de pausa entre execuções de vácuo automático.
- A contagem mínima de tuplas atualizadas ou inativas necessárias para iniciar um processo
VACUUM. - A duração da pausa entre os ciclos de limpeza.
Importante
O ajuste inteligente modifica os parâmetros relacionados ao vácuo automático no nível do servidor, não em níveis de tabela individuais. Além disso, se o vácuo automático estiver desativado, o ajuste inteligente não poderá operar corretamente. Para o ajuste inteligente otimizar o processo, o recurso de vácuo automático deve ser habilitado.
Embora o daemon de vácuo automático dispare duas operações (VACUUM e ANALYZE), o ajuste inteligente faz apenas o ajuste fino do processo VACUUM. Atualmente, esse recurso não ajusta o ANALYZE processo, que reúne estatísticas sobre o conteúdo da tabela para ajudar o planejador de consultas do Banco de Dados do Azure para PostgreSQL a escolher o plano de execução de consulta mais adequado.
O ajuste inteligente inclui proteções para medir a utilização de recursos, como CPU e IOPS. Ele não aumentará a atividade de vácuo automático quando sua instância estiver sob carga pesada. Dessa forma, o ajuste inteligente garante um equilíbrio entre as operações de limpeza efetivas e o desempenho geral do sistema.
Quando o ajuste inteligente está otimizando o vácuo automático, ele considera a sobrecarga média do servidor, usando estatísticas sobre tuplas ativas e inativas. Para diminuir a sobrecarga, o ajuste inteligente pode reduzir parâmetros como o fator de escala ou tempo de suspensão. Ele pode disparar o processo VACUUM mais cedo e, se necessário, diminuir o atraso entre os ciclos.
Por outro lado, se a sobrecarga for mínima e o processo de vácuo automático for muito agressivo, o ajuste inteligente poderá aumentar parâmetros como atraso, fator de escala e tempo de suspensão. Esse equilíbrio minimiza a sobrecarga e ajuda a garantir que o processo de vácuo automático esteja usando recursos com eficiência.
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 parâmetro bgwriter_delay determina a frequência na qual o processo do gravador em segundo plano é despertado para limpar buffers “sujos” (buffers novos ou modificados). O processo de gravação em segundo plano é um dos três processos em uma instância do Servidor Flexível do Banco de Dados do Azure para PostgreSQL que lidam com operações de gravação. O outro é o processo de ponto de verificação e gravações de back-end (processo de cliente padrão, como conexões de aplicativo).
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 gravação que uma instância flexível do servidor de Banco de Dados do Azure para PostgreSQL suporta, especificamente o processo de ponto de verificação. 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 concluir a tempo devido a flutuações inesperadas no número de segmentos WAL (registro em log write-ahead). 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 nenhuma alteração.
- O ajuste inteligente não ajusta as configurações
ANALYZE. - No momento, o ajuste de vácuo automático tem suporte nas camadas de computação do servidor de Uso Geral e Otimizado para Memória com quatro ou mais vCores. Não há suporte para a camada de computação do servidor Com capacidade de intermitência.
Conteúdo relacionado
- Configure o ajuste inteligente usando o portal do Azure.
- Solução de problemas do Banco de Dados do Azure para PostgreSQL.
- Ajuste de vácuo automático no Banco de Dados do Azure para PostgreSQL.
- Solucionar problemas de alta utilização de IOPS no Banco de Dados do Azure para PostgreSQL.
- Práticas recomendadas para carregar dados em massa no Banco de Dados do Azure para PostgreSQL.
- Solucionar problemas de alta utilização da CPU em um Banco de Dados do Azure para PostgreSQL.
- Análise de desempenho de consulta no Banco de Dados do Azure para PostgreSQL.