A ferramenta APM da Kinsta é uma ferramenta poderosa para solucionar problemas em seu site. Este artigo irá levá-lo através de alguns cenários diferentes para solucionar problemas de desempenho em um site usando a ferramenta APM para investigar e analisar os problemas.
Se você não estiver familiarizado com as configurações e terminologia na Ferramenta APM, confira nosso guia sobre como usar a Ferramenta APM da Kinsta.
Como começar
Antes de se aprofundar no uso da ferramenta APM para solucionar um problema, há alguns passos que você precisará seguir, independentemente do problema:
- Certifique-se de que você pode recriar o problema se ele não estiver acontecendo no momento. Procure padrões de quando o problema ocorre ou se ações específicas parecem desencadear o problema (por exemplo, editar uma página, adicionar um produto a um carrinho de eCommerce, carregar imagens, etc.).
- Ative a ferramenta APM no MyKinsta e espere por alguns minutos para coletar dados. A ferramenta APM só pode gravar e analisar dados enquanto estiver habilitada.
- Assim que a ferramenta APM começar a coletar dados, recrie o problema para registrar as informações necessárias.
- Se Redis estiver habilitado em seu site, certifique-se de usar o plugin WP Redis ou Redis Object Cache (mas não ambos). Talvez não possamos coletar e mostrar dados Redis de outros plugins na ferramenta APM da Kinsta.
Analisar páginas ou ações com carregamento lento
Neste exemplo, as páginas são carregadas rapidamente, mas tudo se torna mais lento quando adiciona qualquer produto ao carrinho, seja ele um produto variável ou simples.
Após adicionar alguns produtos ao carrinho, nós damos uma olhada nos resultados em APM (Sites WordPress > nomedosite > APM) e vemos que a transação /single-product
está no topo da lista das transações mais lentas, com uma duração máxima de mais de 5 segundos e uma duração média de mais de 2 segundos.

Ao clicar nessa transação, é aberto o modal/pop-up de amostras de transação, onde podemos selecionar a transação mais lenta (primeira da lista) para ver mais detalhes.

Isso nos leva à linha do tempo de rastreamento da transação, onde podemos classificar as transações por Duração (tempo) para ver quais processos nesta amostra de transação são os mais lentos. Aqui, podemos ver que o processo update_card_payment
é o mais lento na linha do tempo, ocupando 5.002,21 ms de uma transação de 5.535,61 ms.

Clicando nesse span, abre-se o modal/popup de Detalhes do Span, que inclui o rastreamento de pilha (stack trace) do Span.

Podemos ver que a ação do hook do WordPress: action:woocommerce_add_to_cart
está associada a este span nos detalhes do span.
Existem algumas maneiras de rastrear qual plugin ou tema está associado a isso.
Se você estiver confortável com a linha de comando, pode usar o comando grep
para pesquisar a função update_card_payment
e ver quais arquivos de plugin ou tema contêm essa função.
Alternativamente, você pode olhar para a guia WordPress em Resultados de Monitoramento e procurar por um plugin com uma Duração total e Duração máxima semelhantes. Provavelmente estará no topo da lista.

Ao selecionar o plugin na lista dos plugins WordPress mais lentos, você pode confirmar a correspondência. Se o plugin não estiver listado na coluna dos plugins WordPress no pop-up da Amostra de transação, selecione a amostra de transação mais lenta para visualizar a linha do tempo de rastreamento da transação.

Ordene a linha do tempo por Duração e procure pelo mesmo nome de função (por exemplo, update_card_payment) para estar no topo ou perto do topo da lista quando ordenado.

Investigando lentidão geral
A lentidão geral de um site geralmente se deve a um plugin e é um dos primeiros lugares que você deve verificar. Se um plugin está causando a lentidão do seu site, isso pode geralmente ser identificado visualizando a aba WordPress (Sites WordPress > nomedosite > APM > WordPress). Na captura de tela abaixo, observe que a porcentagem de duração total do plugin destacado é superior a 98%, e a duração máxima e média são bastante altas.

Isto indica que este plugin é a fonte mais provável de lentidão geral no site. Para confirmar isso, podemos desativar o plugin, observar o desempenho do site e verificar os resultados na ferramenta APM mais uma vez depois que dados suficientes tiverem sido coletados. Se você tem certeza que o plugin está configurado corretamente, mas continua a causar lentidão em seu site, recomendamos entrar em contato com o desenvolvedor do plugin para trabalhar com eles na resolução do problema.
Identifique problemas intermitentes de terceiros
As solicitações externas são solicitações HTTP feitas pelo site para outro servidor (de terceiros). Plugins ou temas geralmente fazem essas solicitações para carregar scripts ou folhas de estilo ou comunicação com uma API.
Ao solucionar um possível problema externo, é importante notar que a ferramenta APM registra transações externas lentas no lado do servidor. Muitas solicitações externas podem ser feitas de um site no lado do cliente, o que não seria registrado na ferramenta APM. Para investigar solicitações externas no lado do cliente, você precisará usar uma ferramenta como GTmetrix ou as ferramentas de desenvolvimento do seu navegador.
Para visualizar solicitações externas lentas, vá para a aba Externo em Resultados de Monitoramento para visualizar as Solicitações externas mais lentas. Neste exemplo, percebemos alguma lentidão ao fazer upload de imagens na biblioteca de mídia, com alguns uploads levando 5 minutos ou mais para serem concluídos.
Começamos olhando como são as solicitações externas quando não estamos fazendo nada além de fazer login no painel do WordPress. Antes de fazer upload de imagens na Biblioteca de mídia, as solicitações POST
para wp-cron são as mais lentas, com duração máxima de 273,78 ms e duração total de 1.957,81 ms.

Quando carregamos várias imagens com tamanhos entre 3MB-17MB, leva vários minutos para aqueles que terminam de carregar. Olhando os pedidos externos novamente, vemos que POST
pedidos para smushpro.wpmudev.com são os pedidos externos mais lentos, com duração máxima de 1.703,14 ms e duração total de 82.710,85 ms.

Clicar nessa transação abre o modal/pop-up de amostras de transação onde podemos selecionar a transação mais lenta (primeira da lista) para ver mais detalhes.

Isso nos leva à linha do tempo de rastreamento das transações, onde podemos classificar as transações por Duração (tempo) para ver quais spans são os mais lentos. Aqui podemos ver que várias solicitações POST
para smushpro.wpmudev.com são as mais lentas nesta amostra, com um total dessas solicitações POST
ocupando 6.712,64 ms de uma transação de 7.168,58 ms.

Também podemos observar que a duração de cada solicitação varia significativamente, com a solicitação mais curta levando apenas 138,2 ms e a mais longa levando 1.703,14 ms. Portanto, enquanto o plugin Smush está otimizando nossas imagens, cada uma dessas imagens gera uma solicitação externa, o que pode retardar o site.
Neste caso, otimizar nossas imagens antes de fazer upload em vez de depender de um plugin para otimização de imagem reduziria significativamente nossas solicitações externas. Este é um daqueles casos em que precisaremos decidir o que é mais importante, conveniência ou desempenho do site. Podemos manter o plugin se estivermos bem com a lentidão necessária causada pelas solicitações externas. Se preferirmos ou precisarmos melhorar o desempenho do nosso site, remover o plugin e otimizar nossas imagens antes de fazer upload será a melhor opção.
Resumo
Com as estratégias mencionadas acima, você pode usar a ferramenta APM da Kinsta para solucionar problemas de desempenho em seu site. Embora cada situação e site sejam diferentes, você pode aplicar os métodos gerais de solução de problemas aqui para ajudá-lo ou a seu desenvolvedor a rastrear problemas de desempenho em seu site.