Melhorar o desempenho de consultas usando os recursos avançados dos insights de consultas para o AlloyDB

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

Para aprender a usar os insights de consultas padrão, consulte Melhorar o desempenho de consultas usando os insights de consultas.

Você pode usar o Gemini Cloud Assist para ajudar a monitorar e resolver problemas nos 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 dos insights de consultas, ative o acesso ao AlloyDB para PostgreSQL no seu projeto do Google Cloud .

Papéis necessários

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

  • Para acessar os recursos avançados dos insights de consultas para o AlloyDB, você precisa de permissões para acessar o painel dos insights de consultas para o AlloyDB.
  • Para editar as configurações dos recursos avançados dos insights de consultas para o AlloyDB, você precisa de permissões para atualizar as 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 de banco de dados (roles/databaseinsights.viewer)

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

Ativar os recursos avançados dos insights de consultas para o AlloyDB

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

Console

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

    Acessar Clusters

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

  3. Clique em Insights de consultas.

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

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

    Isso implica as seguintes alterações de configuração por padrão:

    • Ativa as caixas de seleção Análise de eventos de espera e Análise de consultas ativas.
    • Aumenta o tamanho da consulta de 4.500 B para 100.000 B .
  6. Salve as alterações. Com isso, a instância do AlloyDB para PostgreSQL será reiniciada.

gcloud

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

Substitua o seguinte:

  • 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 o desempenho e a integridade dela. Se quiser desativar os insights de consultas avançados, use --no-observability-config-enabled.

Terraform

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

Confira um exemplo:

  observability_config {
    enabled = true
  ...
  }
  

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

REST v1

Este exemplo ativa os insights de consultas 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 informações sobre as configurações avançadas dos insights de consultas, consulte Editar configurações avançadas dos insights de consultas.

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

  • CLUSTER_ID: o ID do cluster que você está criando. 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 primária 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 instrui a API a atualizar o campo enabled no bloco observabilityConfig.

O corpo JSON da solicitação é parecido com este:

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

Depois de ativar os insights de consultas avançados, é possível editar as configurações deles.

Editar as configurações de recursos avançados

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

Console

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

    Acessar Clusters

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

  3. Clique em Insights de consultas.

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

    • Análise de eventos de espera A análise de eventos de espera pode ajudar você 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 consultas ativas Monitore as consultas em execução ativa.
    • Armazenar comentários da consulta Entenda melhor o contexto das consultas visualizando 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 índices: mostra as recomendações de criação de índice na página dos insights de consultas de um cluster.
    • No campo Selecionar frequência de execução, é possível definir a frequência de atualização das recomendações.
    • Armazenar endereços IP do cliente: ative para monitorar endereços IP do cliente e analisar esses dados.
    • Armazenar tags de aplicativos Ative para saber quais APIs e rotas de modelo-visualização-controlador fazem solicitações e agrupe esses dados para gerar métricas neles.
    • 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 Comprimento das consultas, é possível alterar o limite padrão do comprimento das consultas, de 256 bytes até 100 KB. Comprimentos de consulta maiores exigem mais memória. Para alterar o comprimento da consulta, é necessário 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 o seguinte:

  • 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 tamanho da consulta, que varia de 1.024 a 100.000 bytes. O tamanho de consulta padrão é 1.024 bytes. Tamanhos de consulta maiores são mais úteis para consultas analíticas, mas também exigem mais memória. Para alterar o tamanho da consulta, é necessário reiniciar 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, no máximo 20 amostras do plano de consulta executadas são capturadas por minuto em todos os bancos de dados da instância. Altere esse valor para um número de 1 a 20. Para desativar a amostragem, insira 0. É provável que o aumento da taxa de amostragem ofereça mais pontos de dados, mas isso pode afetar negativamente o desempenho.

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

  • --observability-config-track-active-queries: permite o monitoramento de consultas ativas. Se 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 executar métricas neles. Essa opção exige que você comente as 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 as anotações adicionadas ao código SQL para fornecer informações sobre ele 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: permite esperar eventos de cada tipo de evento de espera. Se você não quiser monitorar eventos de espera, use --no-observability-config-track-wait-events.

Terraform

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

Confira o seguinte exemplo:

  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 o seguinte:

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

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

REST v1

Este exemplo define as configurações dos insights de consultas 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 definir as configurações dos insights de consultas avançados, defina o campo enabled como true e modifique outros campos opcionais conforme necessário. Para uma lista completa de campos dessa chamada, consulte ObservabilityInstanceConfig.

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

  • CLUSTER_ID: o ID do cluster que você está criando. 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 primária 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 dos insights de consultas avançados é parecido com este:

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

Detectar e diagnosticar problemas de desempenho de consultas

Use os insights de consultas avançados para detectar e diagnosticar problemas de desempenho. O painel dos insights de consultas mostra a carga do banco de dados, que é uma medição do trabalho (em segundos de CPU) realizada pelas consultas executadas no banco de dados selecionado ao longo do tempo. Cada consulta em execução usa ou aguarda recursos. A carga do banco de dados é a proporção entre o tempo gasto por todas as consultas concluídas em determinada janela de tempo, em tempo real decorrido.

Visualizar a medição do trabalho realizada pelas consultas executadas

O gráfico de carga do banco de dados mostra a medição 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 que você seleciona no menu suspenso do gráfico.

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

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

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

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

    Acessar Clusters

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

  3. Clique em Insights de consultas.

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

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

  6. No menu suspenso Carga do Banco de Dados por tempo de execução, 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 ocorridos durante o período selecionado para o banco de dados e o usuário escolhidos será mostrado 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 eventos de espera e os eventos de espera compatíveis com o PostgreSQL. Dependendo do número e dos tipos de eventos de espera, os dez principais eventos e tipos de espera que contribuem são exibidos. Se houver mais de dez eventos de espera, os nove principais serão mostrados, e o restante será agrupado na categoria Outros. Essa abordagem também se aplica a outras dimensões, como Consultas, Bancos de dados e Usuários.

Visualizar os principais fatores da carga do banco de dados

Usando a tabela Principais dimensões por carga do banco de dados, é possível visualizar os principais fatores da carga do banco de dados no período 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 a janela de tempo selecionada.

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

    Acessar Clusters

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

  3. Clique em Insights de consultas.

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

  5. Escolha o tempo total de execução para o qual você quer mostrar os 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 das seguintes opções:

    Dimensão Descrição
    Consultas A tabela mostra as principais consultas normalizadas por tempo total de execução. Para cada consulta, os dados mostrados nas colunas são listados da seguinte forma:
    • Tempo médio de execução (ms). Tempo médio de execução da 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.
    • Quantidade de chamadas. O número de vezes que a consulta foi chamada pelo aplicativo.
    • % de carga por dimensão do gráfico. O gráfico de pílula 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 eventos de espera ocorridos durante o período selecionado.
    • Tempo médio gasto de espera (ms). Tempo médio que as consultas gastaram no tipo de evento de espera específico.
    • Tempo total gasto de espera (ms). O tempo total de execução que as consultas gastaram 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 carga por dimensão do gráfico. O gráfico de pílula mostra como a dimensão 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 ocorridos durante o período selecionado.
    • Tempo médio gasto de espera (ms). Tempo médio que as consultas gastaram no evento de espera específico.
    • Tempo total gasto de espera (ms). O tempo total de execução que as consultas gastaram 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 carga por dimensão do gráfico. O gráfico de pílula mostra como a dimensão selecionada no menu suspenso do gráfico de carga do banco de dados é distribuída no 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 gastaram no banco de dados específico.
    • Tempo total gasto no banco de dados (ms). O tempo total de execução que as consultas gastaram no banco de dados específico.
    • % de carga 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 no 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 gasto pelas consultas no usuário específico.
    • Tempo total gasto no usuário (ms). O tempo total de execução que as consultas gastaram no usuário específico.
    • % de carga 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 entre o usuário específico.

Visualizar o tempo de execução da consulta

Os recursos avançados dos insights de consultas para o AlloyDB mostram as dez principais consultas que contribuem para a carga do banco de dados na tabela Principais dimensões por carga do banco de dados. A consulta mais frequente é a que mais contribuiu 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 entender como o tempo de execução de um parâmetro nas Principais dimensões por carga do banco de dados é afetado por diferentes valores da dimensão do gráfico selecionado (consultas, tipos de eventos de espera, eventos de espera, bancos de dados e usuários), siga estas etapas:

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

    Acessar Clusters

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

  3. Clique em Insights de consultas.

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

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

    Por exemplo, quando você seleciona Todas as Consultas no gráfico Carga do Banco de Dados e clica na guia Consultas na tabela Principais dimensões por carga do banco de dados, % de carga por Consultas mostra uma lista das consultas que mais contribuíram para a carga do banco de dados selecionado durante o período especificado.

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

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

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

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

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

    Acessar Clusters

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

  3. Clique em Insights de consultas.

  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 em uma consulta.

Os recursos avançados dos insights de consultas para o AlloyDB mostram consultas normalizadas (US$ 1, US$ 2 etc.) para substituir os valores constantes de literais. Por 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 de consultas avançados possam agregar consultas semelhantes e remover 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 medição 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 Google Cloud console, acesse a página Clusters.

    Acessar Clusters

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

  3. Clique em Insights de consultas.

  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 Carga do Banco de Dados, são mostrados os primeiros 10 KB de caracteres da consulta normalizada, em que os literais são removidos por motivos 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 dos insights de consultas avançados para o AlloyDB distribuem por cargas de consultas normalizadas em eventos de espera e tipos de eventos de espera.

É possível estudar a latência de consulta usando os gráficos de Latência. Latência é o tempo que a 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.

Filtre por percentil para visualizar o 50º, 95º ou 99º percentil e detectar consultas que não obedecem ao tempo de execução esperado. Para analisar a latência histórica da consulta normalizada, altere a janela de tempo.

Analisar consultas normalizadas

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

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

Para visualizar uma amostra de plano de consulta, siga estas etapas:

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

    Acessar Clusters

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

  3. Clique em Insights de consultas.

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

  5. Escolha o tempo total de execução para o qual você quer mostrar os 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 visualizar um plano de consulta da consulta.

Monitorar e resolver problemas de desempenho de aplicativos usando tags

Os insights de consultas avançados fornecem monitoramento centrado no aplicativo e simplificam o diagnóstico de desempenho de aplicativos criados com o 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. É possível usar tags no seu aplicativo para fazer o seguinte:

  • Monitorar o desempenho do banco de dados.
  • Usar o Sqlcommenter para identificar problemas de desempenho causados pelo código do aplicativo.
  • Analisar a carga do banco de dados.
  • Visualizar a carga por tag.

Para aprender a usar tags nos insights de consultas, consulte Melhorar o desempenho de consultas usando os insights de consultas.

Resolver problemas de aplicativos na camada de banco de dados

Os insights de consultas avançados fornecem uma visualização de trace completa no contexto para ajudar você a entender problemas com o aplicativo na camada de banco de dados para uma solicitação específica. Os traces de aplicativo completos no contexto 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 de tag dentro dos comentários do SQL. Todos os traces do aplicativo com o Cloud Logging são vinculados aos traces do plano de consulta do banco de dados para ajudar a identificar a origem do problema.

Para visualizar um rastreamento no contexto, siga estas etapas:

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

    Acessar Clusters

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

  3. Clique em Insights de consultas.

  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 de consultas, clique em DE PONTA A PONTA.

Use também o Cloud Trace para visualizar o trace completo de cada etapa do plano de consulta. Para acessar o Cloud Trace, selecione Operações > Trace.

Perguntas frequentes

Esta seção traz respostas a perguntas frequentes sobre os recursos dos insights de consultas avançados.

Por que a string de consulta está truncada?

Por padrão, os insights de consultas avançados mostra 10 KB em strings de consulta. É possível aumentar a exibição para 100 KB.

Por que a carga da minha CPU está acima da linha básica máxima no gráfico de Carga do Banco de Dados?

A carga da CPU considera o tempo de execução e o tempo de espera do programador do Linux para programar o processo do servidor em execução. Por isso, a carga da CPU pode ir além da linha principal máxima.

Posso usar métricas padrão dos insights de consultas?

Sim. Os insights de consultas padrão geram contadores que podem ser acessados pelo Stackdriver. Essas métricas estão disponíveis usando a API Cloud Monitoring e a interface do Metrics Explorer. Para mais informações, consulte Métricas doGoogle Cloud .

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

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

Posso usar os recursos avançados dos insights de consultas com clusters secundários?

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

A seguir