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.

Ver o painel "Insights do sistema"

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

  1. No console do 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 métricas e eventos.

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. Cartões 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 visualizar dois gráficos lado a lado ou apenas um gráfico por linha, clique em Personalizar visualização. 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.

  • 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.

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 que foram registrados.

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

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

  • Para ocultar ou exibir a legenda, clique em .
  • Para visualizar os valores de métricas de um momento específico no período selecionado, mova o cursor sobre o gráfico.

  • Para ver um gráfico no modo de tela cheia, clique em . Para sair desse modo, clique em Esc.

  • Para aplicar zoom em um gráfico, clique no gráfico e arraste-o horizontalmente ao longo do eixo x ou verticalmente no eixo y. Para reverter a operação de zoom, clique em . 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 . A maioria dos gráficos oferece estas opções:

    • Faça o download de uma imagem PNG.

    • 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.

    • Adicione ao painel personalizado. Forneça um nome para o painel ou selecione um painel personalizado atual. Veja e edite o painel usando o Cloud Monitoring.

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/.

Estágios de lançamento dessas métricas: GA, BETA

Nome e tipo da métricaDescrição
Novas conexões por segundo BETA
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 BETA
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 BETA
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 BETA
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 BETA
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 de byte da réplica BETA
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 GA
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 de cliente/banco de dados/usuário GA
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.

Utilização da CPU GA
cpu/utilization

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

Armazenamento em disco por tipo GA
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 GA
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 GA
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 GA
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 GA
postgresql/num_backends

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

Bytes de entrada/saída GA
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 GA
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 impasses por banco de dados GA
postgresql/deadlock_count

O número de impasses por banco de dados.

Contagem de leituras de método de bloqueio GA
postgresql/blocks_read_count

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

Linhas processadas por operação GA
postgresql/tuples_processed_count

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

Linhas no banco de dados por estado GA
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 GA
postgresql/vacuum/oldest_transaction_age

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

Arquivamento de WAL GA
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.

Utilização de ID da transação GA
postgresql/transaction_id_utilization

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

Contagem de conexões por nome do aplicativo GA
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 um nome de aplicativo são agrupadas como Unknown.

Linhas buscadas x linhas retornadas x linhas gravadas
  • Linhas buscadas GA: postgresql/tuples_fetched_count
  • Linhas retornadas GA: postgresql/tuples_returned_count
  • Linhas gravadas GA: postgresql/tuples_processed_count
  • O número de linhas buscadas é o número dessas linhas como resultado de consultas na instância.
  • O número de linhas retornadas é o número de linhas verificadas durante o processamento das consultas na instância.
  • O número de linhas gravadas é 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 GA
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 GA
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