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:
- Como Corrigir Problemas de Desempenho do WooCommerce Usando APM da Kinsta
- Como Melhorar a Velocidade do seu Site de Membros Com a Ferramenta APM da Kinsta
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.
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.
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.
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.
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.
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 essa configuração, clique no botão de intervalo de tempo próximo ao canto superior direito da página APM e selecione uma opção no modal/pop-up que aparece. Clique no botão Aplicar intervalo de tempo para definir o novo período.
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 dados mais recentes do intervalo de tempo selecionado, clique no ícone de atualização (refazer) ao lado do botão de intervalo de tempo.
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, informações-chave podem ser encontradas nas abas Transações, WordPress, Banco de Dados e Externas, que revisaremos em mais detalhes abaixo.
Há algumas colunas comuns que você verá em cada aba:
- 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.
- 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.
- Duração máxima: A duração mais lenta da amostra de transação a partir do período de tempo selecionado.
- 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.
- 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.
- Amostra mais lenta: A amostra de transação mais lenta.
- Percentil 95: Uma transação no percentil 95 (95% das transações são mais rápidas do que esta amostra de transação).
- 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.
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.
- Timestamp: A data e a hora da amostra da transação.
- Transação: O endpoint PHP da amostra da transação (por exemplo /wp-cron.php, /single.php, etc.).
- URL: A URL específica da amostra da transação.
- Duração: A duração da amostra da transação em milissegundos.
- 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.
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.
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.
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 da página APM, você pode ver 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.
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.).
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, você encontrará dados específicos para 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:
- Faça o login no MyKinsta.
- Selecione o site que você gostaria de depurar.
- Clique na aba Monitoramento.
- Clique no botão Habilitar APM para iniciar a ferramenta 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 mantidos por 14 dias. Para visualizar dados com mais de 24 horas, clique no botão de intervalo de tempo próximo ao canto superior direito da página APM, vá para a aba Absoluto no modal/pop-up de Selecionar intervalo de tempo, selecione um intervalo de 24 horas dentro dos últimos 14 dias e clique no botão Aplicar intervalo 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.