Melhorar a performance da consulta usando recursos avançados de insights de consulta para o AlloyDB

Esta página descreve como usar os recursos avançados de insights de consulta do AlloyDB para detectar e analisar problemas de desempenho da consulta quase em tempo real nas instâncias primárias e de pool de leitura. Para uma visão geral dos recursos de insights de consulta avançados do AlloyDB, consulte Visão geral dos recursos de insights de consulta avançados do AlloyDB.

Para saber como usar os insights de consulta padrão, consulte Melhorar a performance da consulta usando insights de consulta.

Você pode usar a assistência do Gemini em bancos de dados para monitorar e resolver problemas dos seus recursos do AlloyDB. Para mais informações, consulte Monitorar e resolver problemas com a assistência do Gemini.

Antes de começar

Para acessar o painel de insights de consulta, ative o acesso ao AlloyDB para PostgreSQL no seu projeto do Google Cloud.

Funções exigidas

Para usar os recursos avançados de insights de consulta do AlloyDB, você precisa ter permissões para fazer o seguinte:

  • Para acessar os recursos avançados de insights de consulta do AlloyDB, você precisa ter permissões para acessar o painel de insights de consulta do AlloyDB.
  • Para editar as configurações dos recursos de insights de consulta avançados do AlloyDB, você precisa de permissões para atualizar instâncias do AlloyDB.

Para receber essas permissões, peça ao administrador para conceder a você um dos seguintes papéis:

  • Leitor básico (roles/viewer)
  • Leitor de insights do banco de dados (roles/databaseinsights.viewer)

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Ativar os recursos de insights de consulta avançados para o AlloyDB

Para ativar a configuração de insights de consulta avançados em uma instância do AlloyDB, siga estas etapas:

Console

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Escolha o banco de dados e o usuário.

  5. Clique em Ativar ou Editar configurações.

  6. Na guia Editar configurações de insights de consulta, marque a caixa de seleção Ativar recursos avançados de insights de consulta para o AlloyDB.

    Isso implica as seguintes mudanças de configuração por padrão:

    • Ativa as caixas de seleção Análise de eventos de espera e Análise de consulta ativa.
    • Aumenta o tamanho da consulta de 4.500 B para 100.000 B.
    • Aumenta a taxa de amostragem máxima de 20 para 200 amostras de planos de consulta por minuto.
  7. Salve as alterações. Isso reinicia sua instância do AlloyDB para PostgreSQL.

gcloud

gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabled

Substitua:

  • INSTANCE: o ID da instância a ser atualizada.
  • CLUSTER: o ID do cluster da instância.
  • PROJECT: o ID do projeto do cluster.
  • REGION: a região do cluster, por exemplo, us-central1.

A flag --observability-config-enabled permite coletar e analisar dados em uma instância do AlloyDB para monitorar a performance e a integridade dela. Se você quiser desativar os insights de consulta avançados, use --no-observability-config-enabled.

Terraform

Para usar o Terraform e ativar os insights de consulta avançados na sua instância do AlloyDB, defina o campo enabled como true no bloco observability_config.

Veja um exemplo:

  observability_config {
    enabled = true
  ...
  }
  

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

REST v1

Este exemplo ativa insights de consulta avançados na sua instância do AlloyDB. Para uma lista completa de parâmetros dessa chamada, consulte Método: projects.locations.clusters.instances.patch. Para saber mais sobre as configurações de insights de consulta avançados, consulte Editar configurações de insights de consulta avançados.

Antes de usar os dados da solicitação, faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster criado. Ele precisa começar com uma letra minúscula e pode conter letras minúsculas, números e hifens.
  • PROJECT_ID: o ID do projeto em que você quer colocar o cluster.
  • LOCATION_ID: o ID da região do cluster.
  • INSTANCE_ID: o nome da instância principal que você quer criar.

Para ativar a configuração da instância, use a seguinte solicitação PATCH:

PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled}

O parâmetro de consulta updateMask=observabilityConfig.enabled informa à API para atualizar o campo enabled no bloco observabilityConfig.

O corpo JSON da solicitação tem a seguinte aparência:

{
 "observabilityConfig": {
   "enabled" : true,
 }
}

Depois que os insights de consulta avançados forem ativados, você poderá editar as configurações deles.

Editar configurações de recursos avançados

Para editar a configuração de insights de consulta avançados de uma instância do AlloyDB, siga estas etapas:

Console

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Clique em Editar configurações e modifique uma das seguintes configurações:

    • Análise de eventos de espera: pode ajudar a identificar e resolver problemas de desempenho no seu banco de dados. Um evento de espera é um componente que causa um atraso no processamento de uma operação relacionada a uma consulta.
    • Análise de consulta ativa: acompanhe as consultas em execução.
    • Armazenar comentários da pesquisa Entenda melhor o contexto das consultas conferindo os comentários associados a qualquer consulta investigada, como parte do tamanho dela. Não é necessário usar memória extra. Caso seus comentários tenham informações sensíveis, tome cuidado com o acesso dos usuários.
    • Ativar o consultor de índice: mostre recomendações de criação de índice na página de insights de consulta de um cluster.
    • No campo Selecionar a frequência de execução, você pode definir a frequência de atualização das recomendações.
    • Armazenar endereços IP de clientes: ative para rastrear endereços IP de clientes e analisar esses dados.
    • Armazenar tags de aplicativos: ative para saber quais APIs e rotas de modelo-visualização-controlador estão fazendo solicitações e agrupe esses dados para gerar métricas.
    • Amostragem do plano de consulta: os planos de consulta exibem as operações usadas para concluir uma amostra de consulta. A taxa de amostragem determina quantas amostras de consulta podem ser capturadas por minuto em todos os bancos de dados. Taxas mais altas exigem mais memória.
    • No campo Tamanhos de consulta, é possível mudar o limite padrão de tamanho de 256 bytes para até 100 KB. Consultas mais longas precisam de mais memória. Para mudar o tamanho da consulta, é preciso reiniciar a instância.
  5. Salve as alterações.

gcloud

gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-preserve-comments \
--observability-config-track-wait-events \
--observability-config-max-query-string-length=QUERY_LENGTH \
--observability-config-record-application-tags \
--observability-config-query-plans-per-minute=QUERY_PLANS \
--observability-config-track-active-queries

Substitua:

  • INSTANCE: o ID da instância a ser atualizada.
  • CLUSTER: o ID do cluster da instância.
  • PROJECT: o ID do projeto do cluster.
  • REGION: a região do cluster, por exemplo, us-central1.
  • QUERY_LENGTH: o comprimento da consulta varia de 1.024 a 100.000 bytes. O tamanho de consulta padrão é de 10.240 bytes. Comprimentos de consulta mais altos são mais úteis para consultas analíticas, mas também exigem mais memória. Se você mudar o tamanho da consulta, reinicie a instância. Ainda é possível adicionar tags às consultas que excedem o limite de tamanho.
  • QUERY_PLANS: o número de planos de consulta a serem configurados por minuto. Por padrão, um máximo de 20 amostras de planos de consulta executadas são capturadas por minuto em todos os bancos de dados na instância. Mude esse valor para um número entre 1 e 20. Para desativar a amostragem, insira 0. Aumentar a taxa de amostragem pode gerar mais pontos de dados, mas pode afetar negativamente a performance.

Use as flags de observabilidade opcionais abaixo, se necessário:

  • --observability-config-track-active-queries: ativa o rastreamento de consultas ativas. Se você quiser desativar o recurso, use --no-observability-config-track-active-queries.
  • --observability-config-record-application-tags: armazena tags de aplicativos que ajudam a determinar as APIs e as rotas modelo-visualização-controlador (MVC) que fazem solicitações e agrupam dados para gerar métricas. Essa opção exige que você comente consultas com um conjunto específico de tags. Se você não quiser armazenar tags de aplicativos, use --no-observability-config-record-application-tags.
  • --observability-config-preserve-comments: mantém anotações adicionadas ao código SQL para fornecer informações sobre o código sem afetar a execução. Se você não quiser manter as anotações, use --no-observability-config-preserve-comments.
  • --observability-config-track-wait-events: ativa a espera por eventos de cada tipo de evento de espera. Se você não quiser acompanhar eventos de espera, use --no-observability-config-track-wait-events.

Terraform

Para usar o Terraform para configurar insights avançados de consulta na sua instância do AlloyDB, use o recurso google_alloydb_instance.

Veja um exemplo abaixo.

  observability_config {
    enabled = ENABLED_VALUE
    preserve_comments = PRESERVE_COMMENTS_VALUE
    track_wait_events = TRACK_WAIT_EVENTS_VALUE
    max_query_string_length = MAX_QUERY_STRING_LENGTH_VALUE
    record_application_tags = RECORD_APPLICATION_TAGS_VALUE
    query_plans_per_minute = QUERY_PLANS_PER_MINUTE_VALUE
    track_active_queries = TRACK_ACTIVE_QUERIES_VALUE
  }
  

Substitua:

  • ENABLED_VALUE: status do recurso de observabilidade de uma instância. Defina como true ao editar as configurações e especificar outras flags conforme necessário.
  • PRESERVE_COMMENTS_VALUE: preserva comentários na string de consulta. O valor padrão é false.
  • TRACK_WAIT_EVENTS_VALUE: registra eventos de espera durante a execução de consulta de uma instância. O valor padrão é true.
  • MAX_QUERY_STRING_LENGTH_VALUE: comprimento da string de consulta. O valor padrão é 10240. Qualquer número inteiro entre 1024 e 100000 é válido.
  • RECORD_APPLICATION_TAGS_VALUE: registra tags de aplicativos para uma instância. O valor padrão é true.
  • QUERY_PLANS_PER_MINUTE_VALUE: o número de planos de execução de consulta capturados pelos insights por minuto para todas as consultas combinadas. O valor padrão é 20. Qualquer número inteiro entre 0 e 20 é válido.
  • TRACK_ACTIVE_QUERIES_VALUE: rastreia consultas em execução ativamente. O valor padrão é false.

    Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

REST v1

Este exemplo configura as configurações de insights de consulta avançados na sua instância do AlloyDB. Para uma lista completa de parâmetros dessa chamada, consulte Método: projects.locations.clusters.instances.patch.

Para configurar as configurações dos insights avançados de consulta, defina o campo enabled como true e modifique outros campos opcionais conforme necessário. Para uma lista completa de campos para essa chamada, consulte ObservabilityInstanceConfig.

Antes de usar os dados da solicitação, faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster criado. Ele precisa começar com uma letra minúscula e pode conter letras minúsculas, números e hifens.
  • PROJECT_ID: o ID do projeto em que você quer colocar o cluster.
  • LOCATION_ID: o ID da região do cluster.
  • INSTANCE_ID: o nome da instância principal que você quer criar.

Para modificar a configuração da instância, use a seguinte solicitação PATCH:

PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled,observabilityConfig.preserveComments,observabilityConfig.trackWaitEvents,observabilityConfig.maxQueryStringLength,observabilityConfig.recordApplicationTags,observabilityConfig.queryPlansPerMinute,observabilityConfig.trackActiveQueries,observabilityConfig.trackClientAddress}

O corpo JSON da solicitação que configura todos os campos de insights de consulta avançados tem a seguinte aparência:

{
 "observabilityConfig": {
   "enabled" : true,
   "preserveComments": true,
   "trackWaitEvents": true,
   "maxQueryStringLength": 5000,
   "recordApplicationTags": true,
   "queryPlansPerMinute": 100,
   "trackActiveQueries": true,
 }
}

Detectar e diagnosticar problemas de desempenho da consulta

É possível usar insights avançados de consulta para detectar e diagnosticar problemas de performance. O painel de insights de consulta mostra a carga do banco de dados, que é uma medida do trabalho (em segundos de CPU) que as consultas executadas no banco de dados selecionado realizam ao longo do tempo. Cada consulta em execução está usando ou aguardando recursos. A carga do banco de dados é a proporção entre o tempo gasto por todas as consultas concluídas em uma determinada janela de tempo, em tempo real.

Conferir a medida do trabalho realizado pelas consultas executadas

O gráfico de carga do banco de dados mostra a medida do trabalho realizado (em segundos de CPU) por todas as consultas executadas no banco de dados, dividida pela dimensão selecionada. A carga do banco de dados é dividida nos dados de distribuição selecionados no menu suspenso do gráfico.

É possível detalhar a carga do banco de dados em qualquer uma das seguintes dimensões:

  • Consulta
  • Tipo de evento de espera
  • Evento de espera
  • Banco de dados
  • Usuário

Para conferir o trabalho concluído pelas consultas executadas no seu banco de dados, siga estas etapas:

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Escolha o banco de dados e o usuário.

  5. Escolha o tempo de execução total para o qual você quer mostrar dados, por exemplo, 1 ou 6 horas ou um período personalizado.

  6. No menu suspenso Database Load by execution time, escolha a dimensão que você quer investigar. Dependendo da dimensão escolhida, o gráfico mostra como ela contribui para a carga geral do banco de dados. Por exemplo, se você selecionar a dimensão Eventos de espera no menu suspenso do gráfico de carga do banco de dados, o detalhamento de todos os eventos de espera que ocorreram durante o período selecionado para o banco de dados e o usuário selecionado será exibido no gráfico de carga do banco de dados.

    O gráfico de carga do banco de dados mostra dados para todos os nove tipos de evento de espera e os eventos de espera aceitos no PostgreSQL. Dependendo do número de eventos e tipos de espera, os dez principais eventos e tipos de espera que contribuem são mostrados. Se houver mais de dez eventos de espera, os nove principais serão exibidos, e os demais serão agrupados na categoria Outros. Essa abordagem também se aplica a outras dimensões, como consultas, bancos de dados e usuários.

Conferir os principais contribuintes para a carga do banco de dados

Com a tabela Principais dimensões por carga do banco de dados, você pode conferir os principais contribuidores para a carga do banco de dados no intervalo de tempo e na dimensão selecionados no gráfico Carga do banco de dados. Dependendo da dimensão escolhida na tabela Principais dimensões por carga do banco de dados, você pode encontrar os principais valores para o período selecionado.

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Escolha o banco de dados e o usuário.

  5. Escolha o tempo de execução total para o qual você quer mostrar dados, por exemplo, 1 ou 6 horas ou um período personalizado.

  6. Na tabela Principais dimensões por carga do banco de dados, é possível clicar em qualquer uma das seguintes opções:

    Dimensão Descrição
    Consultas A tabela mostra as principais consultas normalizadas por tempo de execução total. Para cada consulta, os dados mostrados nas colunas são listados da seguinte forma:
    • Tempo de exec. médio (ms). Tempo médio para executar a consulta.
    • Tempo total de execução (ms). O tempo total de execução da consulta específica.
    • Linhas retornadas. O número médio de linhas buscadas para a consulta.
    • Horas chamadas. O número de vezes que a consulta foi chamada pelo aplicativo.
    • %de carregamento por dimensão do gráfico. O gráfico de pílulas mostra como a dimensão do gráfico é distribuída para a consulta específica.
    Tipos de evento de espera A tabela mostra a lista dos principais tipos de evento de espera que ocorreram durante o período selecionado.
    • Tempo médio gasto em espera (ms). Tempo médio que as consultas passaram no tipo de evento de espera específico.
    • Tempo total gasto em espera (ms). O tempo total de execução das consultas no tipo de evento de espera específico.
    • Contagem de tipos de evento de espera. O número de vezes que um tipo de evento de espera específico ocorreu no período escolhido.
    • %de carregamento por dimensão do gráfico. O gráfico de pílulas mostra como a dimensão do gráfico selecionada no menu suspenso do gráfico de carga do banco de dados é distribuída pelo tipo de evento de espera específico.
    Eventos de espera A tabela mostra a lista dos principais eventos de espera que ocorreram durante o período selecionado.
    • Tempo médio gasto em espera (ms). Tempo médio que as consultas passaram no evento de espera específico.
    • Tempo total gasto em espera (ms). O tempo total de execução das consultas no evento de espera específico.
    • Contagem de eventos de espera. O número de vezes que um evento de espera específico ocorreu no período escolhido.
    • %de carregamento por dimensão do gráfico. O gráfico de pílulas mostra como a dimensão do gráfico selecionada no menu suspenso do gráfico de carga do banco de dados é distribuída pelo evento de espera específico.
    Banco de dados A tabela mostra a lista dos principais bancos de dados que contribuíram para a carga durante o período escolhido em todas as consultas executadas.
    • Tempo médio gasto no banco de dados (ms). Tempo médio que as consultas passaram no banco de dados específico.
    • Tempo total gasto no banco de dados (ms). O tempo de execução total que as consultas gastaram no banco de dados específico.
    • %de carregamento por dimensão do gráfico. O gráfico de pílulas mostra como a dimensão do gráfico selecionada no menu suspenso do gráfico de carga do banco de dados é distribuída pelo banco de dados específico.
    Usuário A tabela mostra a lista dos principais usuários no período escolhido em todas as consultas executadas.
    • Tempo médio gasto no usuário (ms). Tempo médio que as consultas passaram no usuário específico.
    • Tempo total gasto no usuário (ms). O tempo total de execução das consultas no usuário específico.
    • %de carregamento por dimensão do gráfico. O gráfico de pílulas mostra como a dimensão do gráfico selecionada no menu suspenso do gráfico de carga do banco de dados é distribuída pelo usuário específico.

Conferir o tempo de execução da consulta

Os recursos de insights de consulta avançados para o AlloyDB mostram as dez consultas mais frequentes que contribuem para a carga do banco de dados na tabela Principais dimensões por carga do banco de dados. A consulta principal é a que contribuiu mais para a carga do banco de dados no período selecionado. As consultas subsequentes são uma porcentagem do tempo de execução mais longo.

Para saber como o tempo de execução de um parâmetro na Principais dimensões por carga do banco de dados é afetado por diferentes valores da dimensão do gráfico selecionada (consultas, tipos de evento de espera, eventos de espera, bancos de dados e usuários), siga estas etapas:

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Escolha o banco de dados e o usuário.

  5. Confira a % de carga por dimensão do gráfico na tabela Principais dimensões por carga do banco de dados para saber como um parâmetro na tabela é afetado pelos parâmetros no gráfico Carga do banco de dados.

    Por exemplo, quando você seleciona All Queries no gráfico Database Load e clica na guia Queries na tabela Top dimensions by database load, % load by Queries mostra uma lista das consultas que mais contribuíram para a carga do banco de dados selecionado durante o período especificado.

Conferir detalhes sobre o tempo de execução da consulta

É possível conferir detalhes sobre o tempo de execução da consulta em Mais detalhes, incluindo as dimensões selecionadas no gráfico e na tabela de carga do banco de dados, a definição de cada evento de espera e os dados encapsulados na categoria Outros.

Mais detalhes também mostra detalhes de informações complexas que não são mostradas em outro lugar na tela de detalhes da consulta. Essas informações incluem a definição de cada evento de espera.

Para conferir detalhes sobre o tempo de execução da consulta, siga estas etapas:

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Escolha o banco de dados e o usuário.

  5. Na tabela Principais dimensões por carga do banco de dados, clique em Mais detalhes para uma consulta.

Os recursos avançados de insights de consulta do AlloyDB mostram consultas normalizadas ($1, $2 e assim por diante) para substituir os valores constantes literais. Exemplo:

UPDATE
  "demo_customer"
SET
  "customer_id" = $1::uuid,
  "name" = $2,
  "address" = $3,
  "rating" = $4,
  "balance" = $5,
  "current_city" = $6,
  "current_location" = $7
WHERE
  "demo_customer"."id" = $8

O valor da constante é ignorado para que os insights avançados de consulta possam agregar consultas semelhantes e remover quaisquer informações de identificação pessoal (PII) que a constante possa mostrar.

Determinar a carga do banco de dados para consultas normalizadas

Para mostrar uma medida do tempo e do uso de recursos por execução de consulta (em segundos de CPU) que a consulta normalizada selecionada realizou no banco de dados selecionado ao longo do tempo, siga estas etapas:

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Escolha o banco de dados e o usuário.

  5. Clique em Consultas no gráfico Carga do banco de dados. Para calcular a carga do banco de dados, o gráfico Carga do banco de dados usa o tempo gasto pelas consultas normalizadas que são concluídas no limite de minutos para o tempo real decorrido.

Na parte de cima do gráfico Database Load, os primeiros 10 KB de caracteres da consulta normalizada são mostrados, em que os literais são removidos para fins de agregação e informações de identificação pessoal (PII).

Para ajudar a determinar a distribuição do tempo gasto em cada um desses estados, os recursos de insights avançados de consulta do AlloyDB são distribuídos por cargas de consulta normalizadas em eventos de espera e tipos de evento de espera.

É possível estudar a latência da consulta usando os gráficos de Latência. A latência é o tempo que uma consulta normalizada leva para ser concluída em tempo real decorrido. A latência de consultas paralelas é medida no tempo real decorrido, mesmo que a carga do banco de dados seja maior para a consulta devido à utilização de vários núcleos para executar parte dela.

É possível filtrar por percentil para conferir o 50º, 95º ou 99º percentil e detectar consultas que não aderem ao tempo de execução esperado. Para analisar a latência histórica da consulta normalizada, mude a janela de tempo.

Analisar consultas normalizadas

Os planos de consulta ajudam a entender e analisar consultas normalizadas, fornecendo um detalhe das diferentes operações em uma amostra da consulta.

O plano de consulta de exemplo fornece uma visualização EXPLAIN ANALYZE para as amostras de plano de consulta relacionadas à consulta normalizada. Esses são planos de consulta executados que fornecem um detalhamento do tempo ativo de cada operação no plano de consulta.

Para conferir um exemplo de plano de consulta, siga estas etapas:

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Escolha o banco de dados e o usuário.

  5. Escolha o tempo de execução total para o qual você quer mostrar dados, por exemplo, 1 ou 6 horas ou um período personalizado.

  6. Na tabela Principais dimensões por carga do banco de dados, clique em uma consulta.

  7. Em Amostras do plano de consulta, clique em qualquer um dos pontos no gráfico para conferir um plano de consulta para essa consulta.

Monitorar e resolver problemas de desempenho do aplicativo usando tags

Os insights avançados de consulta fornecem monitoramento centrado no aplicativo e simplificam o diagnóstico de desempenho de aplicativos criados com mapeamento relacional de objetos (ORM). A inclusão de tag de consulta ajuda a encontrar problemas em construções de alto nível, como usar a lógica de negócios, um microsserviço ou outra construção. Você pode usar tags no seu aplicativo para fazer o seguinte:

  • Monitore o desempenho do banco de dados.
  • Use o Sqlcommenter para identificar problemas de desempenho causados pelo código do aplicativo.
  • Analisar a carga do banco de dados.
  • Confira a carga por tag.

Para saber como usar tags nos insights de consulta, consulte Melhorar a performance da consulta usando insights de consulta.

Resolver problemas de aplicativos na camada do banco de dados

Os insights avançados de consulta fornecem uma visualização de rastreamento completa no contexto para ajudar você a entender os problemas com o aplicativo na camada do banco de dados para uma solicitação específica. Os rastros de aplicativo completos e contextualizados ajudam a determinar a origem da consulta problemática, por exemplo, por modelo, visualização, controladores e rota.

Quando você ativa o OpenTelemetry, as informações de período são enviadas ao banco de dados com as informações da tag nos comentários do SQL. Os rastros do aplicativo com o Cloud Logging são vinculados aos traces do plano de consulta do banco de dados para identificar a origem do problema.

Para conferir um rastro no contexto, siga estas etapas:

  1. No console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na lista de clusters e instâncias, clique em uma instância.

  3. Clique em Query Insights.

  4. Escolha o banco de dados e o usuário.

  5. Clique em qualquer entrada na tabela Principais dimensões por carga do banco de dados.

  6. Na página Detalhes dos insights da consulta, clique em DE ATÉ FIM.

Também é possível usar o Cloud Trace para conferir o rastreamento completo de cada etapa do plano de consulta. Para acessar o Cloud Trace, selecione Operações > Trace.

Perguntas frequentes

Esta seção responde a perguntas frequentes sobre os recursos de insights de consulta avançados.

Por que a string de consulta é truncada?

Por padrão, os insights de consulta avançados mostram 10 KB nas strings de consulta. Você pode aumentar a exibição para 100 KB.

Por que a carga da CPU está acima da linha principal do núcleo no gráfico "Carga do banco de dados"?

A carga da CPU considera o tempo de execução e o tempo de espera para que o programador do Linux programe o processo do servidor em execução. Como resultado, a carga da CPU pode ir além da linha principal do núcleo.

Posso usar as métricas de insights de consulta padrão?

Sim. Os insights de consulta padrão geram contadores que podem ser acessados pelo Stackdriver. Essas métricas estão disponíveis usando a API Cloud Monitoring com insights avançados de consulta. Para mais informações, consulte MétricasGoogle Cloud .

Qual é o comprimento máximo da string de consulta?

Para o plug-in padrão de insights de consulta, o comprimento máximo da string de consulta é limitado a 4,5 KB de caracteres. Para insights avançados de consulta, o comprimento da string padrão é de 10 KB, e o comprimento máximo é limitado a 100 KB.

Posso usar os recursos de insights de consulta avançados do AlloyDB na replicação entre regiões?

Não é possível ativar os recursos de insights de consulta avançados do AlloyDB em clusters com instâncias secundárias. Antes de criar uma instância secundária em um cluster, desative os recursos avançados de insights de consulta do AlloyDB em todas as instâncias do cluster, se eles já estiverem ativados.

A seguir