Pular para o conteúdo principal
Requisições e jobs em segundo plano podem ser lentos por vários motivos, mas uma causa comum são consultas lentas ao banco de dados. Tabelas grandes e índices ausentes podem fazer com que as consultas ao banco de dados demorem mais do que o necessário, aumentando o tempo de espera dos usuários do seu aplicativo. O recurso Slow Queries do AppSignal facilita encontrar as consultas mais lentas de um aplicativo, para ajudar você a decidir quais consultas exigem otimização. Você pode visualizar as consultas lentas do seu aplicativo aqui.

Encontrando consultas lentas para Ruby, Elixir, Node.js e Python

Os tipos de eventos que podem ser encontrados na página Slow Queries estão listados abaixo.
  • Elasticsearch
  • MongoDB
  • MySQL
  • PostgreSQL
  • Redis
  • SQLite
Os eventos podem ser agrupados sob o nome do grupo de eventos do ORM (Object-relational mapping) para algumas integrações.

Encontrando consultas lentas para OpenTelemetry

Para integrações baseadas em OpenTelemetry, procuramos spans com um determinado conjunto de atributos listados abaixo. Para o corpo da consulta, procuramos os seguintes atributos em ordem:
  • db.query.text
  • db.query.statement
  • db.stored_procedure.name
Um desses atributos deve estar presente e não estar vazio. Para o nome do sistema, procuramos os seguintes atributos em ordem:
  • db.system.name
  • db.system
Se nenhum estiver presente, o sistema será exibido como Unknown. Se seu aplicativo estiver reportando consultas em um atributo com nome diferente, ou você gostaria de personalizar os atributos reconhecidos, por favor envie seu feedback.

Ordenando consultas

Por padrão, a lista de consultas lentas é ordenada por impacto: as consultas que consomem mais tempo, seja pela duração das consultas ou pela frequência com que são executadas. Também é possível ordenar esta tabela por “Throughput”, quantas vezes a consulta foi registrada, e “Mean”, a duração média das consultas.

Detalhes da consulta

Screenshot dos detalhes da consulta Você pode clicar em uma consulta para obter os seguintes insights:
  • Consulta completa com título de evento opcional para mais contexto
  • O resumo do evento de consulta ao banco de dados:
    • Duração média da consulta
    • Throughput, quantas vezes a consulta foi registrada
    • O impacto da consulta em porcentagem de todas as consultas ao banco de dados no intervalo de tempo selecionado.
  • Gráfico de tempo de resposta
  • Gráfico de throughput
  • Ações e medições de desempenho em que o evento ocorreu:
    • Você pode ir diretamente para as ações e medições de desempenho em que o evento foi registrado para visualizar o impacto por requisição/job em segundo plano na linha do tempo de eventos de amostra.