Melhore o desempenho das consultas com as funcionalidades avançadas de estatísticas de consultas para o AlloyDB

Esta página descreve como usar as funcionalidades de estatísticas de consultas avançadas para o AlloyDB de modo a detetar e analisar problemas de desempenho de consultas quase em tempo real para instâncias principais e de pool de leitura. Para uma vista geral das funcionalidades de estatísticas de consultas avançadas para o AlloyDB, consulte o artigo Vista geral das funcionalidades de estatísticas de consultas avançadas para o AlloyDB.

Para saber como usar as estatísticas de consultas padrão, consulte o artigo Melhore o desempenho das consultas usando estatísticas de consultas.

Pode usar o Gemini Cloud Assist para ajudar a monitorizar e resolver problemas dos seus recursos do AlloyDB. Para mais informações, consulte o artigo Monitorize e resolva problemas com a assistência do Gemini.

Antes de começar

Para aceder ao painel de controlo Estatísticas de consultas, ative o acesso ao AlloyDB para PostgreSQL no seu Google Cloud projeto.

Funções necessárias

Para usar as funcionalidades avançadas de estatísticas de consultas para o AlloyDB, precisa de autorizações para fazer o seguinte:

  • Para aceder às funcionalidades avançadas de estatísticas de consultas do AlloyDB, precisa de autorizações para aceder ao painel de controlo das estatísticas de consultas do AlloyDB.
  • Para editar as definições das funcionalidades de estatísticas de consultas avançadas do AlloyDB, precisa de autorizações para atualizar as instâncias do AlloyDB.

Para receber estas autorizações, peça ao administrador para lhe conceder uma das seguintes funções:

  • Leitor básico (roles/viewer)
  • Visualizador de estatísticas da base de dados (roles/databaseinsights.viewer)

Para mais informações sobre a concessão de funções, consulte o artigo Gerir acesso.

Ative as funcionalidades avançadas de estatísticas de consultas para o AlloyDB

Para ativar a configuração de estatísticas de consultas avançadas para uma instância do AlloyDB, siga estes passos:

Consola

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

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

  5. No separador Editar definições de estatísticas de consultas, selecione a caixa de verificação Ativar funcionalidades avançadas de estatísticas de consultas para o AlloyDB.

    Isto implica as seguintes alterações de configuração por predefinição:

    • Ativa as caixas de verificação Análise de eventos de espera e Análise de consultas ativas.
    • Aumenta o comprimento da consulta de 4500 B para 100 000 B.
  6. Guarde as alterações. Esta ação reinicia a instância do AlloyDB for PostgreSQL.

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 atualizar.
  • 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 a recolha e a análise de dados numa instância do AlloyDB para monitorizar o respetivo desempenho e estado. Se quiser desativar as estatísticas de consultas avançadas, use --no-observability-config-enabled.

Terraform

Para usar o Terraform para ativar as estatísticas detalhadas de consultas na sua instância do AlloyDB, defina o campo enabled como true no bloco observability_config.

Segue-se um exemplo:

  observability_config {
    enabled = true
  ...
  }
  

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

REST v1

Este exemplo ativa as estatísticas de consultas avançadas na sua instância do AlloyDB. Para ver uma lista completa de parâmetros para esta chamada, consulte Método: projects.locations.clusters.instances.patch. Para obter informações sobre as definições avançadas das estatísticas de consultas, consulte o artigo Edite as definições avançadas das estatísticas de consultas.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster que cria. Tem de começar com uma letra minúscula e pode incluir letras minúsculas, números e hífenes.
  • PROJECT_ID: o ID do projeto onde quer colocar o cluster.
  • LOCATION_ID: o ID da região do cluster.
  • INSTANCE_ID: o nome da instância principal que quer criar.

Para ativar a configuração da instância, use o seguinte pedido 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 indica à API que atualize o campo enabled no bloco observabilityConfig.

O corpo JSON do pedido tem o seguinte aspeto:

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

Depois de ativar as estatísticas de consultas avançadas, pode editar as definições das estatísticas de consultas avançadas.

Edite as definições de funcionalidades avançadas

Para editar a configuração das estatísticas de consultas avançadas para uma instância do AlloyDB, siga estes passos:

Consola

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

  4. Clique em Editar definições e, de seguida, modifique qualquer uma das seguintes definições:

    • Análise de eventos de espera A análise de eventos de espera pode ajudar a identificar e resolver problemas de desempenho na sua base de dados. Um evento de espera é um componente que causa um atraso no processamento de uma operação relacionada com uma consulta.
    • Análise de consultas ativas Monitorize as consultas em execução ativa.
    • Armazene comentários de consultas Saiba mais sobre o contexto das consultas vendo os comentários associados a qualquer consulta que investigue, como parte do comprimento da consulta. Não é necessária memória adicional. Se os seus comentários contiverem informações confidenciais, tenha em atenção o acesso dos utilizadores.
    • Ative o consultor de índices Apresente recomendações de criação de índices na página de estatísticas de consultas de um cluster.
    • No campo Selecionar frequência de execução, pode definir a frequência de atualização das recomendações.
    • Armazenar endereços IP dos clientes: ative esta opção para acompanhar os endereços IP dos clientes e analisar esses dados.
    • Armazenar etiquetas de aplicações Ative esta opção para saber que APIs e rotas de modelo-vista-controlador estão a fazer pedidos e agrupar esses dados para executar métricas em função dos mesmos.
    • Amostragem do plano de consulta Os planos de consulta visualizam as operações usadas para concluir uma amostra de uma consulta. A taxa de amostragem determina quantos exemplos de consultas podem ser capturados por minuto nas suas bases de dados. As taxas mais elevadas requerem mais memória.
    • No campo Comprimentos das consultas, pode alterar o limite predefinido dos comprimentos das consultas, de 256 bytes até 100 KB. Os comprimentos de consultas mais elevados requerem mais memória. A alteração do comprimento da consulta requer o reinício da instância.
  5. Guarde 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 atualizar.
  • 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, que varia entre 1024 e 100 000 bytes. O comprimento da consulta predefinido é de 10 240 bytes. Os comprimentos de consultas mais elevados são mais úteis para consultas analíticas, mas também requerem mais memória. A alteração da duração da consulta requer que reinicie a instância. Pode continuar a adicionar etiquetas a consultas que excedam o limite de comprimento.
  • QUERY_PLANS: o número de planos de consulta a configurar por minuto. Por predefinição, é captado um máximo de 20 exemplos de planos de consultas executados por minuto em todas as bases de dados na instância. Altere este valor para um número entre 1 e 20. Para desativar a amostragem, introduza 0. Aumentar a taxa de amostragem provavelmente vai dar-lhe mais pontos de dados, mas pode afetar negativamente o desempenho.

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

  • --observability-config-track-active-queries: permite o acompanhamento de consultas ativas. Se quiser desativar a funcionalidade, use o comando --no-observability-config-track-active-queries.
  • --observability-config-record-application-tags: armazena etiquetas de aplicações que ajudam a determinar as APIs e os trajetos de modelo-vista-controlador (MVC) que fazem pedidos e agrupam dados para executar métricas em função dos mesmos. Esta opção requer que comente as consultas com um conjunto específico de etiquetas. Se não quiser armazenar etiquetas de aplicações, 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 o código sem afetar a respetiva execução. Se não quiser manter as anotações, use --no-observability-config-preserve-comments.
  • --observability-config-track-wait-events: permite aguardar eventos de cada tipo de evento de espera. Se não quiser acompanhar os eventos de espera, use --no-observability-config-track-wait-events.

Terraform

Para usar o Terraform para configurar estatísticas de consultas avançadas na sua instância do AlloyDB, use o recurso google_alloydb_instance.

Segue-se um 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: o estado da funcionalidade de observabilidade de uma instância. Defina como true quando editar as definições e especificar outras flags conforme necessário.
  • PRESERVE_COMMENTS_VALUE: preservar os comentários na string de consulta. O valor predefinido é false.
  • TRACK_WAIT_EVENTS_VALUE: registar eventos de espera durante a execução de consultas para uma instância. O valor predefinido é true.
  • MAX_QUERY_STRING_LENGTH_VALUE: comprimento da string de consulta. O valor predefinido é 10240. Qualquer número inteiro entre 1024 e 100 000 é válido.
  • RECORD_APPLICATION_TAGS_VALUE: registar etiquetas de aplicação para uma instância. O valor predefinido é true.
  • QUERY_PLANS_PER_MINUTE_VALUE: o número de planos de execução de consultas capturados pelas estatísticas por minuto para todas as consultas combinadas. O valor predefinido é 20. Qualquer número inteiro entre 0 e 20 é válido.
  • TRACK_ACTIVE_QUERIES_VALUE: acompanhe as consultas em execução ativa. O valor predefinido é false.

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

REST v1

Este exemplo configura as definições avançadas de estatísticas de consultas na sua instância do AlloyDB. Para ver uma lista completa de parâmetros para esta chamada, consulte Método: projects.locations.clusters.instances.patch.

Para configurar as definições avançadas das estatísticas de consultas, defina o campo enabled como true e modifique outros campos opcionais conforme necessário. Para ver uma lista completa dos campos desta chamada, consulte ObservabilityInstanceConfig.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster que cria. Tem de começar com uma letra minúscula e pode incluir letras minúsculas, números e hífenes.
  • PROJECT_ID: o ID do projeto onde quer colocar o cluster.
  • LOCATION_ID: o ID da região do cluster.
  • INSTANCE_ID: o nome da instância principal que quer criar.

Para modificar a configuração da instância, use o seguinte pedido 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 do pedido que configura todos os campos de estatísticas de consultas avançadas tem o seguinte aspeto:

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

Detete e diagnostique problemas de desempenho de consultas

Pode usar estatísticas de consultas avançadas para detetar e diagnosticar problemas de desempenho. O painel de controlo de estatísticas de consultas apresenta o carregamento da base de dados, que é uma medida do trabalho (em segundos de CPU) que as consultas executadas na base de dados selecionada realizam ao longo do tempo. Cada consulta em execução está a usar ou a aguardar recursos. O carregamento da base de dados é a relação entre o tempo gasto por todas as consultas concluídas num determinado período, em tempo real decorrido.

Veja a medida do trabalho realizado pelas consultas executadas

O gráfico de carga da base de dados indica a medida do trabalho realizado (em segundos de CPU) por todas as consultas executadas na sua base de dados, segmentado pela dimensão selecionada. O carregamento da base de dados é dividido nos dados de distribuição que selecionar no menu pendente do gráfico.

Pode discriminar o carregamento da base de dados por qualquer uma das seguintes dimensões:

  • Consulta
  • Tipo de evento de espera
  • Evento de espera
  • Bases de dados
  • Utilizador

Para ver o trabalho concluído pelas consultas executadas na sua base de dados, siga estes passos:

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

  4. Escolha a base de dados e o utilizador.

  5. Escolha o tempo de execução total para o qual quer apresentar dados, por exemplo, 1 ou 6 horas, ou um tempo personalizado.

  6. No menu pendente Carregamento da base de dados por tempo de execução, escolha a dimensão que quer investigar. Consoante a dimensão escolhida, o gráfico apresenta a forma como a dimensão escolhida contribui para a carga geral da base de dados. Por exemplo, se selecionar a dimensão Eventos de espera no menu pendente do gráfico de carregamento da base de dados, a discriminação de todos os eventos de espera que ocorreram durante o intervalo de tempo selecionado para a base de dados e o utilizador selecionados é apresentada no gráfico de carregamento da base de dados.

    O gráfico de carregamento da base de dados apresenta dados para todos os nove tipos de eventos de espera e os eventos de espera suportados no PostgreSQL. Consoante o número de eventos e tipos de espera, são apresentados os dez principais eventos e tipos de espera que contribuem. Se existirem mais de dez eventos de espera, são apresentados os nove principais eventos de espera e os restantes são agrupados na categoria Outros. Esta abordagem também se aplica a outras dimensões, como Consultas, Bases de dados e Utilizadores.

Veja os principais colaboradores para o carregamento da base de dados

Com a tabela Principais dimensões por carga da base de dados, pode ver os principais colaboradores para a carga da base de dados no intervalo de tempo escolhido e na dimensão selecionada no gráfico Carga da base de dados. Consoante a dimensão que escolher na tabela Principais dimensões por carga da base de dados, pode encontrar os principais valores para o período selecionado.

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

  4. Escolha a base de dados e o utilizador.

  5. Escolha o tempo de execução total para o qual quer apresentar dados, por exemplo, 1 ou 6 horas, ou um tempo personalizado.

  6. Na tabela Principais dimensões por carga da base de dados, pode clicar em qualquer uma das seguintes opções:

    Dimensão Descrição
    Consultas A tabela apresenta as principais consultas normalizadas por tempo de execução total. Para cada consulta, os dados apresentados nas colunas são indicados da seguinte forma:
    • Tempo de execução médio (ms). Tempo médio para a consulta ser executada.
    • Tempo de execução total (ms). O tempo de execução total da consulta específica.
    • Linhas devolvidas. O número médio de linhas obtidas para a consulta.
    • Número de vezes que ligou. O número de vezes que a consulta foi chamada pela aplicação.
    • %de carregamento por dimensão do gráfico. O gráfico de comprimidos representa a forma como a dimensão do gráfico é distribuída para a consulta específica.
    Tipos de eventos de espera A tabela apresenta a lista dos principais tipos de eventos de espera que ocorreram durante o intervalo de tempo selecionado.
    • Tempo médio gasto na 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 de execução total que as consultas passaram no tipo de evento de espera específico.
    • Aguarde a contagem do tipo de evento. O número de vezes que um tipo de evento de espera específico ocorreu no intervalo de tempo escolhido.
    • %de carregamento por dimensão do gráfico. O gráfico de comprimidos representa a forma como a dimensão do gráfico selecionada no menu pendente do gráfico de carregamento da base de dados é distribuída pelo tipo de evento de espera específico.
    Eventos de espera A tabela apresenta a lista dos principais eventos de espera que ocorreram durante o intervalo de tempo selecionado.
    • Tempo médio gasto na 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 que as consultas passaram no evento de espera específico.
    • Contagem de eventos de espera. O número de vezes que um evento wait específico ocorreu no intervalo de tempo escolhido.
    • %de carregamento por dimensão do gráfico. O gráfico de comprimidos representa a forma como a dimensão do gráfico selecionada no menu pendente do gráfico de carregamento da base de dados está distribuída pelo evento de espera específico.
    Bases de dados A tabela mostra a lista das principais bases de dados que contribuíram para a carga durante o intervalo de tempo escolhido em todas as consultas executadas.
    • Tempo médio gasto na base de dados (ms). Tempo médio que as consultas passaram na base de dados específica.
    • Tempo total gasto na base de dados (ms). O tempo de execução total que as consultas passaram na base de dados específica.
    • %de carregamento por dimensão do gráfico. O gráfico de comprimidos representa a forma como a dimensão do gráfico selecionada no menu pendente do gráfico de carregamento da base de dados está distribuída pela base de dados específica.
    Utilizador A tabela mostra a lista dos principais utilizadores para o intervalo de tempo escolhido em todas as consultas executadas.
    • Tempo médio gasto pelo utilizador (ms). Tempo médio que as consultas passaram no utilizador específico.
    • Tempo total gasto pelo utilizador (ms). O tempo total de execução que as consultas passaram no utilizador específico.
    • %de carregamento por dimensão do gráfico. O gráfico de comprimidos representa a forma como a dimensão do gráfico selecionada no menu pendente do gráfico de carregamento da base de dados está distribuída pelo utilizador específico.

Veja o tempo de execução da consulta

As funcionalidades de estatísticas de consultas avançadas para o AlloyDB apresentam as dez principais consultas que contribuem para a carga da base de dados na tabela Principais dimensões por carga da base de dados. A principal consulta é a que mais contribuiu para a carga da base de dados no intervalo de tempo selecionado. As consultas subsequentes são uma percentagem do tempo de execução mais longo.

Para saber como o tempo de execução de um parâmetro no relatório Principais dimensões por carga da base de dados é afetado por diferentes valores da dimensão do gráfico selecionada (consultas, tipos de eventos de espera, eventos de espera, bases de dados e utilizadores), siga estes passos:

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

  4. Escolha a base de dados e o utilizador.

  5. Veja a % de carregamento por dimensão do gráfico na tabela Principais dimensões por carregamento da base de dados para saber como um parâmetro na tabela é afetado pelos parâmetros no gráfico Carregamento da base de dados.

    Por exemplo, quando seleciona Todas as consultas no gráfico Carregamento da base de dados e clica no separador Consultas na tabela Principais dimensões por carregamento da base de dados, a opção % de carregamento por consultas apresenta uma lista das consultas que mais contribuíram para o carregamento da base de dados na base de dados selecionada durante o período especificado.

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

Pode ver detalhes sobre o tempo de execução da consulta em Mais detalhes, incluindo as dimensões que selecionou no gráfico e na tabela de carregamento da base de dados, a definição de cada evento de espera e os dados encapsulados na categoria Outros.

Mais detalhes também apresenta detalhes de informações complexas que não são apresentadas noutro local no ecrã de detalhes da consulta. Estas informações incluem a definição de cada evento de espera.

Para ver detalhes sobre o tempo de execução da consulta, siga estes passos:

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

  4. Escolha a base de dados e o utilizador.

  5. Na tabela Principais dimensões por carregamento da base de dados, clique em Mais detalhes para uma consulta.

As funcionalidades de estatísticas de consultas avançadas do AlloyDB apresentam consultas normalizadas ($1, $2, etc.) para substituir os valores constantes 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 constante é ignorado para que as estatísticas de consultas avançadas possam agregar consultas semelhantes e remover informações de identificação pessoal (IIP) que a constante possa apresentar.

Determine a carga da base de dados para consultas normalizadas

Para apresentar uma medida da utilização de tempo e recursos pela execução de consultas (em segundos de CPU) que a consulta normalizada selecionada executou na base de dados selecionada ao longo do tempo, siga estes passos:

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

  4. Escolha a base de dados e o utilizador.

  5. Clique em Consultas no gráfico Carregamento da base de dados. Para calcular a carga da base de dados, o gráfico Carga da base de dados usa a quantidade de tempo que as consultas normalizadas demoram a ser concluídas no limite de um minuto em relação ao tempo real decorrido.

Na parte superior do gráfico Database Load, são apresentados os primeiros 10 KB carateres da consulta normalizada, onde os literais são removidos para agregação e por motivos de informações de identificação pessoal (PII).

Para ajudar a determinar a distribuição do tempo gasto em cada um destes estados, as funcionalidades de estatísticas de consultas avançadas para o AlloyDB distribuem por cargas de consultas normalizadas em eventos de espera e tipos de eventos de espera.

Pode estudar a latência das consultas através dos gráficos de Latência. A latência é o tempo necessário para a consulta normalizada ser concluída em tempo real decorrido. A latência das consultas paralelas é medida em tempo real decorrido, embora a carga da base de dados possa ser superior para a consulta devido à utilização de vários núcleos para executar parte da consulta.

Pode filtrar por percentil para ver o 50.º, o 95.º ou o 99.º percentil para detetar consultas que não cumprem o tempo de execução esperado. Para analisar a latência do histórico da consulta normalizada, altere o período.

Analise consultas normalizadas

Os planos de consultas ajudam a compreender e analisar as consultas normalizadas, fornecendo uma discriminação das diferentes operações numa amostra da sua consulta.

O plano de consulta de exemplo fornece uma visualização EXPLAIN ANALYZE para os exemplos de planos de consulta relacionados com a consulta normalizada. Estes são planos de consulta executados que fornecem uma discriminação do tempo ativo gasto por cada operação no plano de consulta.

Para ver um plano de consulta de exemplo, siga estes passos:

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

  4. Escolha a base de dados e o utilizador.

  5. Escolha o tempo de execução total para o qual quer apresentar dados, por exemplo, 1 ou 6 horas, ou um tempo personalizado.

  6. Na tabela Principais dimensões por carga da base de dados, clique numa consulta.

  7. Em Exemplos de planos de consultas, clique em qualquer um dos pontos no gráfico para ver um plano de consulta para essa consulta.

Monitorize e resolva problemas de desempenho das aplicações através de etiquetas

As estatísticas de consultas avançadas oferecem monitorização centrada na aplicação e simplificam o diagnóstico do desempenho das aplicações criadas com mapeamento relacional de objetos (ORM). A etiquetagem de consultas ajuda a encontrar problemas em construções de nível superior, como usar a lógica empresarial, um microsserviço ou alguma outra construção. Pode usar etiquetas na sua aplicação para ajudar a fazer o seguinte:

  • Monitorize o desempenho da base de dados.
  • Use o Sqlcommenter para identificar problemas de desempenho causados pelo código da aplicação.
  • Analise o carregamento da base de dados.
  • Veja o carregamento por etiqueta.

Para saber como usar etiquetas nas estatísticas de consultas, consulte o artigo Melhore o desempenho das consultas com as estatísticas de consultas.

Resolva problemas de aplicações na camada da base de dados

As estatísticas de consultas avançadas oferecem uma vista de rastreio ponto a ponto no contexto para ajudar a compreender os problemas com a aplicação na camada da base de dados para um pedido específico. Os rastreios de aplicações completos no contexto ajudam a determinar a origem da consulta problemática, por exemplo, por modelo, vista, controladores e trajeto.

Quando ativa o OpenTelemetry, as informações de intervalo são enviadas para a base de dados juntamente com as informações da etiqueta nos comentários SQL. Os rastreios da aplicação para o Cloud Logging estão associados aos rastreios do plano de consulta da base de dados para identificar a origem do problema.

Para ver um rastreio no contexto, siga estes passos:

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

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

  3. Clique em Estatísticas de consultas.

  4. Escolha a base de dados e o utilizador.

  5. Clique em qualquer entrada na tabela Principais dimensões por carregamento da base de dados.

  6. Na página Detalhes das estatísticas de consultas, clique em DE INÍCIO AO FIM.

Também pode usar o Cloud Trace para ver a monitorização completa de cada passo no plano de consulta. Para aceder ao Cloud Trace, selecione Operações > Trace.

Perguntas frequentes

Esta secção fornece respostas a perguntas frequentes sobre as funcionalidades de estatísticas de consultas avançadas.

Por que motivo a string de consulta está truncada?

Por predefinição, as estatísticas de consultas avançadas apresentam 10 KB em strings de consulta. Pode aumentar a apresentação para 100 KB.

Por que motivo a carga da CPU está acima da linha do núcleo máximo no gráfico de carga da base de dados?

A carga da CPU tem em conta o tempo de execução e o tempo de espera para que o agendador do Linux agende o processo do servidor em execução. Como resultado, a carga da CPU pode ultrapassar a linha do núcleo máximo.

Posso usar métricas padrão das estatísticas de consultas?

Sim. As estatísticas de consultas padrão geram contadores que podem ser acedidos através do Stackdriver. Estas métricas estão disponíveis através da API Cloud Monitoring e da IU do Explorador de métricas. Para mais informações, consulte as Google Cloud métricas.

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

Para o plug-in de estatísticas de consultas padrão, o comprimento máximo da string de consulta está limitado a 4,5 KB carateres. Para estatísticas de consultas avançadas, o comprimento da string predefinido é de 10 KB e o comprimento máximo está limitado a 100 KB.

Posso usar funcionalidades avançadas de estatísticas de consultas com clusters secundários?

Não pode ativar as estatísticas de consultas avançadas em clusters com instâncias secundárias. Antes de criar uma instância secundária num cluster, tem de desativar as estatísticas de consultas avançadas em todas as instâncias do cluster.

O que se segue?