A ferramenta APM da Kinsta ajuda você a identificar gargalos de desempenho PHP em seu site WordPress sem ter que se inscrever para serviços de monitoramento de terceiros como o New Relic.

Disponível sem custo adicional em todos os planos, a ferramenta APM pode ser realmente útil na resolução de problemas no seu site. A ferramenta APM é projetada para capturar informações marcadas no tempo sobre os processos PHP do seu site WordPress, consultas ao banco de dados MySQL, chamadas HTTP externas, e muito mais.

Com os dados do APM, você pode cavar em cargas específicas de páginas lentas para identificar a causa raiz do problema. Para mais detalhes sobre a resolução de problemas de desempenho em tipos específicos de sites usando a ferramenta APM, veja estes guias:

Tenha em mente que a ferramenta APM da Kinsta foi projetada especificamente para ajudar você a monitorar sites WordPress, então usá-la para monitorar um site rodando em outro CMS ou framework pode resultar em resultados imprecisos. Assim, recomendamos usá-la apenas para sites WordPress.

Terminologia da ferramenta APM

Antes de entrar em detalhes de utilização da ferramenta APM, definiremos alguns termos importantes que serão utilizados mais tarde.

APM

APM, abreviação de “Application Performance Monitoring”, é uma ferramenta que lhe dá uma visão das estatísticas e tendências de desempenho de um aplicativo. A ferramenta APM da Kinsta fornece a você dados acionáveis sobre o desempenho do seu site WordPress.

Solicitações

No contexto da ferramenta APM, uma solicitação refere-se a uma visita ao seu site WordPress que requer execução de PHP para renderizar. Uma solicitação de URL pode incluir vários parâmetros de query string e irá acionar uma transação correspondente.

Por exemplo, um pedido para yourdomain.com/wp-cron.php?arg=1&arg2=2 acionaria uma transação /wp-cron.php.

Transação

Uma transação refere-se à atividade backend que ocorre para servir uma solicitação ao seu site WordPress. Por exemplo, a transação de uma solicitação para /wp-login.php contém os processos PHP individuais que geram a página de login do seu site WordPress.

intervalo (Span)

Um intervalo span se refere a um processo individual em uma transação. Uma única transação pode consistir de centenas de intervalos organizados hierarquicamente.

Por exemplo, uma transação que gera uma página de conta para um cliente do WooCommerce pode consistir em um intervalo que se divide em múltiplos intervalos de consulta do banco de dados.

Amostra de Transação

Uma amostra de transação refere-se a uma instância selecionada dentre muitas solicitações para um endpoint de transação específico (por exemplo /single.php, /wp-cron.php, etc.). Na ferramenta APM, você terá três amostras para escolher.

Por exemplo, a ferramenta APM pode registrar dezenas de transações em /wp-cron.php. Neste caso, a ferramenta APM escolherá a transação mais lenta e a chamará de uma amostra de transação.

Rastreamento de transação

Um rastreamento de transação é uma linha do tempo completa de todos os processos que ocorreram em uma amostra de transação. Em nossa ferramenta APM, um rastreamento de transação é representado por uma lista de intervalos com sua duração correspondente e informações de carimbo de data e hora.

Linha do tempo de rastreamento de transação para uma amostra de transação.
Linha do tempo de rastreamento de transação para uma amostra de transação.

Rastreamento de pilha

Um rastreamento de pilha é um detalhamento do processo para um span individual. Os rastreamentos de pilha são úteis para uma depuração detalhada. Eles contêm informações muito detalhadas sobre o código PHP que foi executado, até um arquivo PHP específico e uma linha de código.

Um rastreamento de pilha para um intervalo (span).
Um rastreamento de pilha para um intervalo (span).

Como habilitar a ferramenta APM da Kinsta

Por padrão, a ferramenta APM está desativada. Já que a ferramenta APM requer recursos adicionais do servidor, recomendamos ativá-la apenas quando você estiver resolvendo ativamente um problema de desempenho em seu site WordPress.

Para ativar a ferramenta APM, faça login no MyKinsta, escolha o site que você deseja monitorar, navegue até a aba APM do seu site e clique no botão Habilitar APM.

Clique no botão Habilitar Kinsta APM para habilitá-lo no MyKinsta.
Clique no botão Habilitar APM para habilitá-lo no MyKinsta.

Em seguida, selecione uma duração de monitoramento para o APM. Você pode escolher entre 2 horas, 4 horas, 12 horas, e 24 horas. Como o APM pode reduzir o desempenho do seu site, nós não recomendamos deixá-lo ativado por um período de tempo prolongado. Uma vez selecionada a duração do monitoramento, clique em Habilitar tempo de monitoramento para iniciar o APM.

Selecione o tempo de monitoramento Kinsta APM e habilite-o.
Selecione o tempo de monitoramento APM e habilite.

Aguarde de 5 a 10 minutos para que a ferramenta comece a coletar dados. Você pode ver esses dados na guia APM.

Depois que a duração do monitoramento tiver passado, o APM será desativado automaticamente. Se você quiser desativar o monitoramento antecipadamente, clique no menu kebab (três pontos) e selecione Desativar no menu suspenso.

Desabilitar o APM no MyKinsta.
Desabilitar o APM no MyKinsta.

Como selecionar um período de monitoramento de dados?

Por padrão, a ferramenta APM mostra dados de monitoramento dos últimos 60 minutos. Entretanto, o período de tempo dos dados é customizável, e você pode escolher entre as opções abaixo.

  • 30 minutos
  • 60 minutos
  • 2 horas
  • 4 horas
  • 12 horas
  • 24 horas

Para alterar esta configuração, clique no botão de tempo próximo ao canto superior direito da seção Resultados do Monitoramento e selecione uma opção no modal/pop-up que aparece. Clique no botão Aplicar período de tempo para definir o novo período de tempo.

Alterar o período do tempo de monitoramento de dados do APM.
Alterar o período do tempo de monitoramento de dados do APM.

Como atualizar os dados de monitoramento

A ferramenta APM da Kinsta exibe o monitoramento de dados de desempenho com base no tempo definido (por exemplo, últimos 30 minutos, últimos 60 minutos, etc.). Para evitar confusão, a ferramenta APM não atualiza automaticamente os dados. Para atualizar a ferramenta APM e exibir os últimos dados do intervalo de tempo selecionado, clique no ícone de atualização (refazer) na parte superior direita da seção Resultados de Monitoramento.

Clique no ícone refresh para atualizar os dados de monitoramento do APM.
Clique no ícone refresh para atualizar os dados de monitoramento do APM.

Como ler as informações contidas na ferramenta APM

Como o registro de dados só começa após a ferramenta APM ter sido habilitada, você precisará dar algum tempo para coletar dados de desempenho para o seu site. Nós recomendamos esperar 5-10 minutos antes de inspecionar os dados de monitoramento.

Depois disso, as principais informações podem ser encontradas na seção de Resultados de Monitoramento. Esta seção contém 4 abas, que revisaremos em mais detalhes abaixo: Transações, WordPress, Banco de Dados e Externo.

Abas de resultados de monitoramento APM: Transações, WordPress, Banco de Dados e Externo.
Abas de resultados de monitoramento APM: Transações, WordPress, Banco de Dados e Externo.

Há algumas colunas comuns que você verá em cada aba:

  1. Duração total (%): A porcentagem de tempo, relativa à Duração Total, consumida por todos os pedidos para um endpoint de transação no prazo selecionado. A porcentagem de duração é calculada com os valores de Duração Total (a soma da duração de todas as solicitações para um determinado endpoint), de modo que não representa a duração de uma amostra individual da transação.
  2. Duração Total: A quantidade total de tempo que um terminal de transação consome dentro do período de tempo selecionado. Note que a duração se refere à soma da duração de todos os pedidos para um determinado terminal e não representa a duração de uma amostra individual de transação.
  3. Duração máxima: A duração mais lenta da amostra de transação a partir do período de tempo selecionado.
  4. Duração média: A média de todas as durações de amostra de transação a partir do período de tempo selecionado.
  5. Taxa por minuto: O número de vezes que uma transação foi executada em média por minuto no período de tempo selecionado.

Enquanto você navega pelos dados, você também verá estes detalhes de dados comuns:

Amostras de transações

Ao clicar em uma transação, você será presenteado com um modal contendo até três amostras de transação do período selecionado.

  1. Amostra mais lenta: A amostra de transação mais lenta.
  2. Percentil 95: Uma transação no percentil 95 (95% das transações são mais rápidas do que esta amostra de transação).
  3. Percentil 50: Uma transação no percentil 50 (50% das transações são mais rápidas do que esta amostra de transações). Como há um número igual de amostras lentas e rápidas, isso pode ser considerado um período típico.
A amostra modal de transação na ferramenta APM.
A amostra modal de transação na ferramenta APM.

Você pode ver uma, duas, ou três amostras. Por exemplo, a mesma transação pode ser a amostra mais lenta e a transação do percentil 95.

As amostras de transação modal/pop-up também mostram informações úteis sobre cada amostra de transação, incluindo o carimbo de data/hora, o endpoint da transação, a URL do pedido e a duração.

Amostra de transação individual

Se você clicar em uma amostra da transação no modal, você será levado a uma página dedicada para a amostra selecionada. Esta página de amostra de transação inclui o carimbo de data/hora, o terminal da transação, a URL, a duração, o código de status HTTP e uma linha de tempo completa de rastreamento da transação.

Amostra de transação com linha de tempo de rastreamento na APM da Kinsta.
Amostra de transação com linha de tempo de rastreamento na APM da Kinsta.
  1. Timestamp: A data e a hora da amostra da transação.
  2. Transação: O endpoint PHP da amostra da transação (por exemplo /wp-cron.php, /single.php, etc.).
  3. URL: A URL específica da amostra da transação.
  4. Duração: A duração da amostra da transação em milissegundos.
  5. Resultado: O código de status HTTP da transação. Se você vir um resultado “HTTP 200“, isso significa que a transação foi lenta, mas finalmente bem-sucedida. Entretanto, se você vir um resultado “HTTP 503“, isso pode significar que a transação foi cronometrada.

Cada amostra de transação tem seu próprio permalink ou URL único. Isso facilita a referência e o compartilhamento de uma amostra de transação específica com seus colegas, um desenvolvedor ou a equipe de Suporte Kinsta. Nota: Seu colega ou desenvolvedor precisará ter acesso ao site no MyKinsta para poder visualizar a amostra da transação.

Amostra da transação permalink.
Amostra da transação permalink.

Linha do tempo de rastreamento das transações

Além das informações básicas sobre as transações, a ferramenta APM também lhe dá uma linha do tempo mais detalhada sobre o rastreamento das transações. Na linha do tempo de rastreamento da transação, você pode ver uma apresentação passo a passo dos processos PHP, consultas ao banco de dados MySQL e chamadas externas para uma amostra particular da transação.

Você pode classificar os intervalos por Duração (tempo) ou Duração (%) em ordem ascendente ou descendente clicando no nome da coluna. Isso serve para identificar rapidamente as transações mais longas.

Cada intervalo também tem sua duração associada e ao timestamp relativo, assim você pode identificar rapidamente a parte mais longa e mais problemática do pedido.

Em relação à duração total da amostra da transação:

  • Os intervalos com mais de 5% de duração são mostrados em laranja
  • Os espanhóis com mais de 25% de duração são mostrados em vermelho

Estes destaques sempre se referem à duração relativa do intervalo no contexto da sua própria amostra. Portanto, se você estiver vendo algo vermelho, leve em conta que ele é sempre comparado com aquela amostra dada (e seu site ou aplicativo web pode não ser lento como um todo).

Note que para consultas do MySQL e Redis, não incluímos intervalos menores que 0.001 ms. Para intervalos não relacionados a dados, o limite é de 1 ms. Propositalmente excluímos intervalos curtos porque o registro de um alto número de elementos rápidos pode impactar o desempenho do seu site e não fornece dados muito úteis.

A linha do tempo de rastreamento da transação para uma amostra da transação.
A linha do tempo de rastreamento da transação para uma amostra da transação.

Esta linha de tempo detalhada é muito útil para solucionar problemas de desempenho porque ajuda você a identificar exatamente qual é o gargalo de controle.

Por exemplo, você pode notar que a lentidão quando solicitado o /wp-admin/admin-ajax.php é causada por longas solicitações de APIs para APIs de redes sociais. Armado com este conhecimento, você pode então continuar testando seu site com seu plugin social desativado para ver se ele faz diferença.

Da mesma forma, se você ver uma transação lenta para /wp-cron.php contendo solicitações HTTP repetitivas iniciadas por um plugin de pré-carregamento de cache, você pode agir rapidamente sobre essa informação e desativar a funcionalidade de pré-carregamento de cache.

Detalhes do Span

Se você clicar em um intervalo (Span) na linha do tempo de rastreamento da transação, você conseguirá ver uma visão detalhada com um Full-Stack de rastreamento e informações associadas.

Por exemplo, se você clicar em um intervalo de consulta MySQL, você verá a consulta de banco de dados que foi executada com o rastreamento de pilha. Inspecionando os detalhes do intervalo, você pode obter um nível mais detalhado de percepção das transações PHP em seu site WordPress.

Os detalhes dos Span na linha do tempo de rastreamento da transação.
Os detalhes de Span na linha do tempo de rastreamento da transação.

Para exemplos mais específicos de como ler e usar os dados da ferramenta APM, consulte nosso guia sobre como usar o APM da Kinsta para diagnosticar problemas de desempenho.

Resultados do monitoramento

Em cada uma das abas em Monitoramento de Resultados, você pode visualizar dados específicos para Transações, WordPress, Banco de Dados e Solicitações Externas.

Transações

Esta aba é onde você encontrará dados sobre o tempo total da transação e as transações mais lentas.

Tempo total da transação

O gráfico de barras de Tempo total da transação lhe dá uma representação visual dos dados de tempo de transação no período selecionado. Cada barra consiste em uma divisão multicolor do PHP, MySQL, Redis e Tempos de Transação Externa. O gráfico do Tempo total da transação também mostra o tempo médio de transação do período selecionado no canto superior direito.

Gráfico de barras do tempo total de transação do APM.
Gráfico de barras do tempo total de transação do APM.

Transações mais lentas

As dez transações mais lentas do PHP aparecerão na seção de transações mais lentas abaixo do gráfico de barras de tempo total da transação. Além das colunas comuns, a primeira coluna destes dados é a coluna Transação, que exibe o endpoint da transação das requisições lentas que consumiram mais tempo PHP (por exemplo /wp-cron.php, /wp-json, etc.).

Transações mais lentas na ferramenta APM.
Transações mais lentas na ferramenta APM.

Você pode clicar em cada terminal de transação para visualizar as amostras da transação e navegar mais adiante em cada amostra de transação individual, rastrear a linha do tempo, detalhes de span e rastreamento de pilha.

WordPress

Na aba WordPress em Resultados de monitoramento, você encontrará dados específicos para os plugins e hooks do WordPress.

Plugins mais lentos para WordPress

O plugin registrado mais lento mostra a slug do plugin (nome da pasta/diretório) na primeira coluna e, em seguida, o restante das colunas de dados compartilhados. Você pode clicar em cada plugin para ver exemplos de transações e navegar ainda mais por exemplos de transações individuais, gráficos de linha do tempo, detalhes de span e rastreamentos de pilha.

Hooks mais lentos do WordPress

Sob a lista dos plugins mais lentos do WordPress, você verá a lista dos hooks mais lentos do WordPress. Os hooks para WordPress são funções em temas ou plugins que permitem modificar o WordPress em pontos específicos no processamento do código.

Um hook é ou uma ação ou um filtro, e os hooks desta lista são prefixos com seu tipo (ação ou filtro), seguido pelo nome da função. Clicando em um hook você mostrará as amostras da transação, onde você pode navegar mais adiante em cada amostra de transação individual, traçar linha de tempo, detalhes de span e rastreamento de pilha.

Banco de Dados

Este guia mostra dados para as consultas do banco de dados mais lentas e as transações de cache Redis mais lentas (se Redis estiver habilitado).

Consultas mais lentas do banco de dados

As 10 principais consultas de banco de dados mais lentas são mostradas na seção de consultas de banco de dados mais lentas. Clicando em uma consulta mostrará as amostras da transação, onde você pode navegar mais adiante em cada amostra de transação individual, rastrear a linha do tempo, os detalhes do intervalo e o rastreamento da pilha.

Cache redis mais lenta

Para sites com complemento Redis, detalhes relacionados ao cache Redis podem ser encontrados nesta seção. Se o seu site não tiver o complemento Redis instalado, nenhum dado será mostrado. Clicando em um item de cache serão mostradas as amostras da transação, onde você pode navegar mais adiante em cada amostra de transação individual, rastrear linha de tempo, detalhes de span e rastreamento de stack.

Externo

Os dados para quaisquer solicitações externas que seu site faça podem ser encontrados na aba Externo. As solicitações externas são solicitações HTTP feitas pelo seu site para outro site ou servidor. Estas chamadas são normalmente feitas por plugins ou temas para recuperação, ou envio de dados, ou para comunicação com uma API.

Cada URL na primeira coluna da lista é seguida pelo método HTTP usado para a solicitação (GET, POST, PUT, etc.). Clicando em uma URL de requisição mostrará as amostras da transação, onde você pode navegar mais adiante em cada amostra de transação individual, rastrear linha de tempo, detalhes de span e rastreamento de pilha.

FAQ APM

Compilamos algumas perguntas populares sobre o APM e fornecemos respostas a elas abaixo.

Como posso habilitar o APM da Kinsta?

O APM da Kinsta está disponível sem custos adicionais em todos os planos. Para habilitá-lo, você precisa fazer isso:

  1. Faça o login no MyKinsta
  2. Selecione o site que você gostaria de depurar
  3. Clique na aba Monitoramento
  4. Clique no botão Habilitar APM para iniciar o APM

O APM diminuirá a velocidade do meu site WordPress?

Como outras ferramentas APM, o agente do APM da Kinsta pode adicionar carga adicional ao CPU e recursos de RAM do seu servidor e pode potencialmente diminuir a velocidade do seu site WordPress por um tempo limitado.

Recomendamos fortemente somente habilitar o APM quando você estiver diagnosticando ativamente um problema de desempenho em seu site.

A Kinsta ainda suporta o monitoramento pessoal da New Relic para clientes com licenças pessoais da New Relic?

Sim, os sites Kinsta ainda suportam o monitoramento pessoal da New Relic para clientes com licenças pessoais.

É possível usar o APM da Kinsta e o New Relic ao mesmo tempo?

Não recomendamos o uso do APM da Kinsta e New Relic para monitoramento ao mesmo tempo. Entretanto, não há problema em mudar entre APM e New Relic desde que ambas as ferramentas não estejam ativas ao mesmo tempo.

O APM é compatível com outras plataformas e frameworks de CMS?

Neste momento, o APM só é totalmente compatível com o WordPress.

A APM funcionará com Bedrock (ou outros sites que usam Composer)?

Sim, mas se o WP-CLI for uma dependência no arquivo composer.json do seu site, você precisará adicionar uma configuração para que o autoloader Kinsta possa trabalhar em conjunto com o autoloader WP-CLI:

"prepend-autoloader": false

Aqui está um exemplo de configuração de um site Bedrock após adicionar a configuração pretendente:

"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"prepend-autoloader": false
},

E se eu ver algum comportamento inesperado no meu site depois que eu habilitar o APM?

Fizemos testes extensivos com diferentes versões do WordPress e uma longa lista de plugins. Entretanto, ainda pode haver bugs desconhecidos a serem trabalhados, como uma versão plugin ou algum desenvolvimento personalizado sendo incompatível com nossa solução de monitoramento.

Por esta razão, quando você habilita o recurso, sempre verifique novamente se o seu site funciona bem. Se você vir algum comportamento não intencional, desative o recurso e nos informe para podermos investigar e resolver o problema.

Por quanto tempo os dados da ferramenta APM estão disponíveis?

Os dados do APM são retidos por 14 dias. Para visualizar dados com mais de 24 horas, clique no botão de período de tempo próximo ao canto superior direito da seção Resultados do Monitoramento, vá para a aba Absoluto no modal/pop-up Selecionar período de tempo, selecione um período de 24 horas dentro dos últimos 14 dias e clique no botão Aplicar período de tempo.

Resumo

A ferramenta APM da Kinsta dá contexto a questões de desempenho em seu site WordPress. Ao invés de erros genéricos HTTP 502 ou timeouts, a ferramenta APM fornece detalhadamente as quebras de pedidos lentos.

Com a ferramenta APM da Kinsta, você será capaz de depurar problemas de desempenho sem instalar um plugin como o Query Monitor ou ativar um serviço de terceiros como o New Relic.

Se você está trabalhando com um desenvolvedor para resolver problemas em seu site WordPress, a ferramenta APM da Kinsta também pode ajudá-lo a economizar tempo e dinheiro, fornecendo um lugar para começar.