Usar insights do sistema para melhorar o desempenho do sistema

Nesta página, descrevemos como usar o painel de insights do sistema do Cloud SQL. O painel "Insights do sistema" exibe métricas dos recursos que sua instância usa e ajuda a detectar e analisar problemas de desempenho do sistema.

Você pode usar o Gemini na assistência a bancos de dados para observar e resolver problemas nos seus recursos do Cloud SQL para PostgreSQL. Para mais informações, consulte Observar e resolver problemas com a ajuda do Gemini.

Ver o painel "Insights do sistema"

Para ver o Painel de insights do sistema, faça o seguinte:

  1. No console Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Clique no nome de uma instância.
  3. Selecione a guia Insights do sistema no painel de navegação do SQL à esquerda.

O Painel de insights do sistema é aberto.

Imagem do painel mostrando a linha do tempo de eventos e cards de resumo de métricas.
Figura 1. Imagem do painel mostrando a linha do tempo de eventos e cards de resumo.

Imagem do painel mostrando gráficos de métricas principais.
Figura 2. Imagem do painel mostrando gráficos de métricas principais.

O painel Insights do sistema mostra as seguintes informações:

  1. Detalhes da instância

  2. Linha do tempo de eventos: mostra os eventos do sistema em ordem cronológica. Essas informações ajudam a avaliar o impacto dos eventos do sistema na integridade e no desempenho da instância.

  3. Cards de resumo: fornecem uma visão geral da integridade e do desempenho da instância, exibindo os valores mais recentes e agregados referentes às métricas de utilização da CPU, utilização do disco e erros de registro.

  4. Gráficos de métricas: mostram as informações sobre as métricas do sistema operacional e do banco de dados que ajudam com insights sobre vários problemas, como capacidade de processamento, latência e custo.

O painel oferece as seguintes opções gerais:

  • Para ver um ou dois gráficos por linha. Clique em Personalizar visualização para escolher como esses gráficos são mostrados. Você também pode usar essa opção para escolher as métricas a serem exibidas no painel.
  • Para manter o painel atualizado, ative a opção Atualização automática. Quando você ativa a Atualização automática, os dados do painel são atualizados a cada minuto. Esse recurso não é compatível com períodos personalizados.

  • O seletor de tempo mostra a 1 day selecionada por padrão. Para mudar o período, selecione um dos outros períodos predefinidos ou clique em Personalizado e defina um horário de início e de término. Os dados disponíveis correspondem aos últimos 30 dias.

  • Para criar um link absoluto para o painel, clique no botão Copiar link. É possível compartilhar esse link com outros usuários do Cloud SQL que tenham as mesmas permissões.

  • Para criar um alerta para um evento específico, clique em Notificação.

  • Para mostrar alertas específicos, clique em Anotações.

Cards de resumo

A tabela a seguir descreve os cartões de resumo exibidos na parte superior do painel de insights do sistema. Esses cartões fornecem uma breve visão geral da integridade e do desempenho da instância durante o período escolhido.

Card de resumoDescrição
Uso da CPU - P99 | P50 Os valores de utilização da CPU P99 e P50 no período selecionado.
Pico de conexões A proporção entre as conexões de pico e o máximo de conexões no período selecionado. A contagem de pico da conexão pode ser maior que a quantidade máxima no caso de a contagem máxima ter mudado recentemente, como devido ao escalonamento de instâncias ou à alteração manual da configuração max_connections.
Uso do ID da transação O valor de utilização do ID da transação mais recente para o período selecionado.
Uso do disco O valor de utilização do disco mais recente.
Erros de registro O número de erros registrados pelos usuários.

Gráficos de métricas

Um card de gráfico para uma métrica de amostra aparece da seguinte maneira.

Gráfico mostrando exemplo de dados de métricas do Cloud SQL
Gráfico de métricas mostrando métricas de latência da consulta.

A barra de ferramentas em cada card de gráfico oferece o seguinte conjunto de opções padrão:

  • Para visualizar os valores de métricas de um momento específico no período selecionado, mova o cursor sobre o gráfico.

  • Para aumentar o zoom em um gráfico, clique nele e arraste na horizontal ao longo do eixo x ou na vertical ao longo do eixo y. Para reverter a operação de zoom, clique em Redefinir zoom. Ou clique em um dos períodos predefinidos na parte de cima do painel. As operações de zoom se aplicam ao mesmo tempo a todos os gráficos em um painel.

  • Para ver outras opções, clique em Mais opções do gráfico. A maioria dos gráficos oferece estas opções:

    • Para ver um gráfico no modo de tela cheia, clique em Ver em tela cheia. Para sair do modo de tela cheia, clique em Cancelar.

    • Oculte ou recolha a legenda.

    • Baixe um arquivo PNG ou CSV do gráfico.

    • Veja no Metrics Explorer. Veja a métrica no Metrics Explorer. É possível visualizar outras métricas do Cloud SQL no Metrics Explorer após selecionar o tipo de recurso Banco de dados do Cloud SQL.

  • Para criar um painel personalizado, clique em Personalizar painel e dê um nome a ele. Ou expanda o menu Predefinido e selecione um painel personalizado.

  • Para ver os dados de um gráfico de métricas em detalhes, clique em Explorar dados. Aqui, você pode filtrar métricas específicas e escolher como o gráfico é mostrado:

    Visualização personalizável dos dados de métricas do Cloud SQL.

    Para salvar essa visualização personalizada como um gráfico de métricas, clique em Salvar no painel.

Métricas padrão

A tabela a seguir descreve as métricas do Cloud SQL que aparecem por padrão no painel de insights do sistema do Cloud SQL.

As strings de tipo de métrica seguem este prefixo: cloudsql.googleapis.com/database/.

Para conferir a disponibilidade mais recente do estágio de lançamento das métricas a seguir, consulte métricas doGoogle Cloud .

Nome e tipo da métricaDescrição
Novas conexões por segundo
postgresql/new_connection_count

A taxa por número de novas conexões que você cria na instância do Cloud SQL para PostgreSQL por segundo. O Cloud SQL calcula e exibe essa métrica por banco de dados.

Essa métrica está disponível para o PostgreSQL versão 14 e posteriores.

Tipos de evento de espera
postgresql/backends_in_wait

O número de conexões para cada tipo de evento de espera em uma instância do Cloud SQL para PostgreSQL.

Eventos de espera
postgresql/backends_in_wait

O número de eventos de espera em uma instância do Cloud SQL para PostgreSQL. O painel exibe essa métrica como nome do evento de espera:tipo do evento de espera.

Contagem de transações
postgresql/transaction_count

O número de transações nos estados commit e rollback em uma instância do Cloud SQL para PostgreSQL.

Componentes de memória
memory/components

Os componentes de memória disponíveis para o banco de dados. O valor de cada componente de memória é calculado como a porcentagem da memória total disponível para o banco de dados.

Atraso máximo do byte da réplica
postgresql/external_sync/max_replica_byte_lag

O atraso máximo de replicação (em bytes) entre todos os bancos de dados na réplica do servidor externo (ES).

Latência da consulta
postgresql/insights/aggregate/latencies

A distribuição agregada da latência das consultas por P99, P95 e P50 por usuário e banco de dados.

Disponível somente para instâncias com os Insights de consulta ativados.

Carga do banco de dados por endereço do banco de dados/usuário/cliente
postgresql/insights/aggregate/execution_time

O tempo de execução de consultas acumulado por banco de dados, usuário ou endereço do cliente. Essa é a soma destes itens: Tempo de CPU, tempo de espera de E/S, alternância de contexto do processo, tempo de espera de bloqueio e programação para todos os processos envolvidos na execução da consulta.

Disponível somente para instâncias com os Insights de consulta ativados.

Uso de CPU
cpu/utilization

O uso atual da CPU representado como percentual da CPU reservada que está em uso no momento.

Armazenamento em disco por tipo
disk/bytes_used_by_data_type

Detalhamento do uso do disco da instância por tipos de dados, incluindo data, binlog e tmp_data.

Essa métrica ajuda a entender os custos de armazenamento. Para saber mais sobre as cobranças de uso de armazenamento, consulte Preços de rede e de armazenamento.

A recuperação pontual (PITR, na sigla em inglês) usa o arquivamento de registros em tempo de gravação (WAL, na sigla em inglês). Esses registros são atualizados regularmente e usam espaço de armazenamento. Os registros em tempo de gravação são excluídos automaticamente com o backup automático associado a eles, o que geralmente acontece após cerca de sete dias.

Se o tamanho dos registros em tempo de gravação estiver causando um problema para a instância, será possível aumentar o tamanho do armazenamento, mas o aumento do tamanho para registros em tempo de gravação no uso do disco poderá ser temporário. Para evitar problemas inesperados de armazenamento, o Google recomenda ativar aumentos automáticos de armazenamento ao usar o PITR.

Para excluir os registros e recuperar o armazenamento, desative a recuperação pontual. Observe, porém, que diminuir o armazenamento usado não reduz o tamanho do armazenamento provisionado para a instância.

Os dados temporários são incluídos na métrica de uso do armazenamento. Eles são removidos como parte da manutenção e têm permissão para aumentar além dos limites de capacidade definidos pelo usuário. Assim, evita-se a falta de espaço no disco, sem custo para o usuário.

Um banco de dados recém-criado usa cerca de 100 MB para tabelas e arquivos do sistema.

Armazenamento em disco por tipo
disk/bytes_used_by_data_type

Detalhamento do uso do disco da instância por tipos de dados, incluindo data, binlog e tmp_data.

Essa métrica ajuda a entender os custos de armazenamento. Para saber mais sobre as cobranças de uso de armazenamento, consulte Preços de rede e de armazenamento.

A recuperação pontual usa o arquivamento de registro de gravação antecipada (WAL, na sigla em inglês). Para novas instâncias do Cloud SQL com a recuperação pontual ativada ou para instâncias que ativam a recuperação pontual após esse recurso para armazenar registros de WAL no Cloud Storage estiver disponível, os registros não serão mais armazenado em disco. Em vez disso, eles serão armazenadas na mesma região das instâncias do Cloud Storage.

Para saber se os registros de uma instância estão armazenados no Cloud Storage, verifique a métrica bytes_used_by_data_type da instância. Se o valor do tipo de dados archived_wal_log for 0, os registros da instância serão armazenados no Cloud Storage.

Todas as outras instâncias com a recuperação pontual ativada continuarão com os registros armazenados no disco. A alteração no armazenamento de registros no Cloud Storage será disponibilizada posteriormente.

Os registros em tempo de gravação usados na recuperação pontual são excluídos automaticamente com o backup automático associado, o que geralmente acontece depois que o valor definido para transactionLogRetentionDays é atingido. Esse é o número de dias de registros de transações que o Cloud SQL retém para recuperação pontual, de 1 a 7.

Para as instâncias que têm registros de gravação antecipada no Cloud Storage, os registros são armazenados na mesma região da instância principal. Esse armazenamento de registro (até sete dias, a duração máxima da recuperação pontual) não gera custo adicional por instância.

Se a instância tiver a recuperação pontual ativada e se o tamanho dos registros de gravação antecipada no disco estiver causando um problema nela, desative a recuperação pontual e reative-a para garantir que novos registros sejam armazenados no Cloud Storage na mesma região da instância. Isso exclui registros atuais de gravação antecipada, portanto, não é possível realizar uma restauração pontual antes do momento em que você reativou a recuperação pontual. No entanto, apesar de os registros atuais serem excluídos, o tamanho do disco permanece o mesmo.

Para evitar problemas de armazenamento inesperados, recomendamos ativar os aumentos no armazenamento automáticos para todas as instâncias ao usar a recuperação pontual. Essa recomendação só se aplica se a instância tiver a recuperação pontual ativada e seus registros forem armazenados no disco.

Para excluir os registros e recuperar o armazenamento, desative a recuperação pontual. No entanto, diminuir os registros de gravação antecipada usados não diminui o tamanho do disco provisionado para a instância.

Os dados temporários são incluídos na métrica de uso do armazenamento. Eles são removidos como parte da manutenção e têm permissão para aumentar além dos limites de capacidade definidos pelo usuário. Assim, evita-se a falta de espaço no disco, sem custo para o usuário.

Um banco de dados recém-criado usa cerca de 100 MB para tabelas e arquivos do sistema.

Operações de leitura/gravação de disco
disk/read_ops_count, disk/write_ops_count

A métrica Número de leituras indica o número de operações de leitura exibidas no disco não provenientes do cache. Use essa métrica para entender se o tamanho da instância está adequado ao ambiente. Se necessário, você pode mudar para um tipo de máquina maior para atender a mais solicitações do cache e reduzir a latência.

A métrica Número de gravações indica o número de operações de gravação no disco. A atividade de gravação é gerada mesmo que o aplicativo não esteja ativo, porque as instâncias do Cloud SQL, com a exceção de réplicas, gravam em uma tabela do sistema aproximadamente a cada segundo.

Conexões por status
postgresql/num_backends_by_state

O número de conexões agrupadas pelos status a seguir: idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled e fastpath_function_call.

Para informações sobre esses status, consulte a linha state text na documentação pg_stat_activity.

Conexões por banco de dados
postgresql/num_backends

O número de conexões mantidas pela instância do banco de dados.

Bytes de entrada/saída
network/received_bytes_count, network/sent_bytes_count

O tráfego de rede em termos do número de bytes de entrada (recebidos) e de saída (enviados) na instância, respectivamente.

Detalhamento da espera de E/S por tipo
postgresql/insights/aggregate/io_time

O detalhamento do tempo de espera de E/S para instruções SQL por tipo de leitura e gravação.

Disponível somente para instâncias com os Insights de consulta ativados.

Contagem de impasse por banco de dados
postgresql/deadlock_count

O número de impasses por banco de dados.

Contagem de bloqueio de leituras
postgresql/blocks_read_count

O número de bloqueios lidos por segundo no disco e no cache de buffer.

Linhas processadas por operação
postgresql/tuples_processed_count

O número de linhas processadas por operação por segundo.

Linhas no banco de dados por estado
postgresql/tuple_size

O número de linhas para cada estado do banco de dados. O Cloud SQL informará essa métrica se o número de bancos de dados na instância for menor que 50.

Transação mais antiga por idade
postgresql/vacuum/oldest_transaction_age

A idade da transação mais antiga que está bloqueando a operação de vácuo.

Arquivamento de WAL
replication/log_archive_success_count, replication/log_archive_failure_count

O número de arquivos de registro write-ahead que foram arquivados por minuto com ou sem sucesso.

Uso do ID de transação
postgresql/transaction_id_utilization

Porcentagem de IDs de transação usados na instância.

Contagem de conexões por nome do aplicativo
postgresql/num_backends_by_application

O número de conexões com a instância do Cloud SQL, agrupadas por aplicativos.

As conexões sem nome de aplicativo são agrupadas como Unknown.

Linhas buscadas x linhas retornadas x linhas gravadas
  • Linhas buscadas: postgresql/tuples_fetched_count
  • Linhas retornadas: postgresql/tuples_returned_count
  • Linhas gravadas: postgresql/tuples_processed_count
  • O número de linhas buscadas é o número dessas linhas como resultado de consultas na instância.
  • As linhas retornadas representam o número de linhas verificadas durante o processamento das consultas na instância.
  • As linhas gravadas são o número de linhas escritas na instância durante as operações de inserção, atualização e exclusão.

Se a diferença entre as linhas retornadas e as buscas for tão grande que os valores não sejam mostrados na mesma escala, o valor das linhas buscadas será mostrado como 0, porque será insignificante em comparação com o valor das linhas retornadas.

Tamanho dos dados temporários
postgresql/temp_bytes_written_count

A quantidade total de dados (em bytes) usada para a execução da consulta e algoritmos de execução, como junção e classificação.

Arquivos temporários
postgresql/temp_files_written_count

O número de arquivos temporários usados para executar a consulta e algoritmos de execução, como juntar e classificar.

Além disso, a métrica do Cloud Logging, Entradas de registro por gravidade (logging.googleapis.com/log_entry_count), mostra o número total de entradas de registro de erros e avisos.

Elas são extraídas de postgres.log, que é o registro do banco de dados, e pgaudit.log, que contém informações de acesso a dados.

Para mais informações, consulte Métricas do Cloud SQL.

Cronograma dos eventos

O painel mostra os detalhes dos seguintes eventos:

Nome do eventoDescriçãoTipo de operação
Instance restart Reinicia a instância do Cloud SQL RESTART
Instance failover Inicia um failover manual de uma instância principal de alta disponibilidade (HA) para uma instância em espera, que se torna a instância principal. FAILOVER
Instance maintenance Indica que a instância está em manutenção no momento. A manutenção normalmente faz com que a instância fique indisponível por um a três minutos. MAINTENANCE
Instance backup Faz um backup da instância. BACKUP_VOLUME
Instance update Atualiza as configurações de uma instância do Cloud SQL. UPDATE
Promote replica Promove uma instância de réplica do Cloud SQL. PROMOTE_REPLICA
Start replica Inicia a replicação em uma instância de réplica de leitura do Cloud SQL. START_REPLICA
Stop replica Interrompe a replicação em uma instância de réplica de leitura do Cloud SQL. STOP_REPLICA
Recreate replica Recria recursos para uma instância de réplica do Cloud SQL. RECREATE_REPLICA
Create replica Cria uma instância de réplica do Cloud SQL. CREATE_REPLICA
Data import Importa dados para uma instância do Cloud SQL. IMPORT
Instance export Exporta dados de uma instância do Cloud SQL para um bucket do Cloud Storage. EXPORT
Restore backup Restaura um backup de uma instância do Cloud SQL. O uso dessa operação pode fazer com que a instância seja reiniciada. RESTORE_VOLUME

A seguir