Depuração de sites WordPress lentos com o Query Monitor

Procédure

O que é o Query Monitor?

O WordPress, o CMS mais popular, está frequentemente sujeito a problemas de desempenho. No entanto, este CMS não fornece uma ferramenta nativa para analisar os estrangulamentos que causam a lentidão, o que não facilita a análise.

OQuery Monitor é um plugin gratuito para WordPress que fornece as ferramentas de perfilamento necessárias durante a execução de cada página gerada pelo WordPress para identificar os pontos a verificar quando existem problemas de velocidade e desempenho.

Enquanto o método habitual é o de tentativa e erro, desactivando cada plugin até que o problema desapareça, o Query Monitor adopta uma nova abordagem, identificando imediatamente o plugin e/ou tema que está a causar um pedido SQL ou HTTP lento.

Neste guia, você aprenderá tudo o que precisa saber para identificar seus problemas de desempenho com o Query Monitor.

Como instalar o Query Monitor?

Para instalar o Query Monitor, vá para o painel do seu site WordPress e vá para Extensões e depois Adicionar.

Depuração de sites WordPress lentos com o Query Monitor

Procure o plugin Query Monitor e instale-o.

Depuração de sites WordPress lentos com o Query Monitor

Uma vez instalado, active a extensão.

Depuração de sites WordPress lentos com o Query Monitor

A interface do Query Monitor

Assim que o plugin estiver ativo, aparece um novo menu na barra de menus do WordPress. Ao clicar no menu, é apresentada a janela de depuração:

Depuração de sites WordPress lentos com o Query Monitor

Depois, terá de ir à página onde está a ter problemas de desempenho e clicar no menu para ver os detalhes.

Não se esqueça de desativar o plugin Query Monitor assim que tiver terminado a depuração, uma vez que a geração destes dados de depuração é, por si só, bastante complicada e pode levar a problemas de desempenho.

Menu de visão geral

O menu de visão geral do Query Monitor mostra o URL atualmente aberto.

O tempo de geração da página é o tempo durante o qual o PHP executa o script. O limite mencionado abaixo é o max_execution_time definido para o PHP. Em geral, o tempo de geração da página deve ser aproximadamente o mesmo que o tempo de espera do browser (visível a partir da consola do programador):

Depuração de sites WordPress lentos com o Query Monitor

Neste exemplo, pode ver que existe um problema: o tempo de geração da página é de apenas 377 ms, mas o browser demora até 959 ms antes de poder receber a página. Este problema ocorre quando a rede entre o navegador Web e o servidor do sítio é lenta. Neste tipo de caso, será necessário configurar um servidor mais próximo do cliente utilizando o Ipxchange ou o Cloudflare.

A secção"Peak memory usage" indica o consumo máximo de memória do seu sítio Web ao gerar a página. O limite do WordPress é definido pela constante WP_MEMORY_LIMIT em wp-config.php, enquanto o limite do servidor é definido pelo valor memory_limit definido a partir da interface cPanel.

A secção seguinte,"Consultas à base de dados", mostra o tempo gasto a obter informações da base de dados.

A secção"Chamadas de API HTTP" mostra os pedidos HTTP feitos pelo sítio durante a geração da página para aceder a APIs externas. O tempo de resposta de uma API dependerá inevitavelmente do servidor em que a API está alojada.

As duas últimas secções,"Object cache" e"Opcode cache", indicam o estado de utilização destas duas caches. Recorde-se que a cache de objectos armazena objectos do WordPress em memória para reduzir o número de pedidos MySQL à base de dados e otimizar assim o tempo de resposta, enquanto a cache Opcode permite ao PHP não recompilar o ficheiro PHP de cada vez. Depois de um ficheiro PHP ter sido executado pela primeira vez, a cache Opcode armazena o Opcode do ficheiro PHP (a versão compilada e binária do ficheiro PHP) para execução futura.

Depuração de sites WordPress lentos com o Query Monitor

Se quiser saber mais sobre os desafios do cache de objetos, recomendamos que leia nossa documentação dedicada à configuração de um cache de objetos persistente com o Redis.

Menu de erros de PHP

Depuração de sites WordPress lentos com o Query Monitor

Este menu apresenta os erros de PHP encontrados pelo WordPress (não necessariamente erros fatais e/ou de bloqueio). Estão frequentemente ocultos e são difíceis de encontrar sem modificar os limiares de comunicação de erros do PHP. No entanto, o Query Monitor permite-lhe visualizá-los rapidamente sem modificar qualquer configuração. A coluna"Componente" mostra-lhe a origem do script que está a causar o erro, quer provenha do núcleo do WordPress, de um tema ou de um determinado plugin. A coluna"Location" (Localização) mostra o ficheiro e o respetivo número de linha.

Se encontrar erros de PHP, mesmo que não estejam a bloquear, o seu desempenho pode ser afetado. Se tiver muitos erros para registar, o seu processo PHP terá de abrir, escrever e fechar o ficheiro de registo PHP em cada nova visita. Se tiver depreciações, ajuste os limiares de comunicação de erros do PHP de modo a que não sejam incluídos nos ficheiros de registo para evitar gravações desnecessárias no ficheiro de registo do PHP se não os puder resolver corretamente no momento.

Menu Queries (Consultas)

Este menu agrupa as consultas SQL efectuadas pelo WordPress, bem como os componentes por detrás das consultas e os respectivos tempos de execução:

Depuração de sites WordPress lentos com o Query Monitor

Se notar consultas particularmente lentas :

  • Tente desativar o plugin que está por detrás da consulta se este não fornecer qualquer funcionalidade vital para o seu sítio Web (como um plugin de estatísticas, por exemplo) ou mude de tema se a consulta for proveniente de um tema mal concebido.
  • Se a consulta visar uma tabela que possa ser limpa, não hesite em limpá-la para que o seu tamanho seja reduzido e a pesquisa de dados sobre ela seja mais fácil. Por exemplo, pode eliminar revisões de artigos em wp_posts para reduzir o tamanho desta tabela, ou eliminar transições expiradas em wp_options.
  • Se o pedido resultar de um pedido de um objeto WordPress (como um Custom Post Type), pode reduzir a execução destes tipos de pedidos configurando uma cache de objectos.
  • Pode simplesmente migrar para uma oferta mais potente, como um VPS PRO, se pretender ter um servidor MySQL mais potente que, consequentemente, será capaz de executar o mesmo pedido no mesmo conjunto de dados a uma velocidade mais rápida.

Menu "Chamadas de API HTTP

O menu "Chamadas de API HTTP", um pouco mais abaixo na lista, permite visualizar os pedidos de API efectuados pelo sítio durante o carregamento da página:

Depuração de sites WordPress lentos com o Query Monitor

Se detetar uma API que responde demasiado lentamente, recomendamos que a desactive, desactivando o plugin associado.

Se, no entanto, a duração for aproximadamente arredondada (como 30,001s, por exemplo), isso pode significar que o pedido de API excede um limite de tempo, muitas vezes devido a um bloqueio de firewall. Se a API aceder a um recurso que não esteja na porta padrão 80 ou 443, não se esqueça de verificar se o pedido está autorizado na firewall do servidor cPanel.

Conclusão

Agora já sabe como utilizar o plugin gratuito Query Monitor para identificar a origem dos problemas de lentidão no seu sítio Web WordPress. Sinta-se à vontade para partilhar as suas ideias e perguntas na secção de comentários.

Avaliar este artigo :

5/5 | 1 opinião

Este artigo foi útil para si ?

Article utileSim

Article non utileNão

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Artigos semelhantes

1mn leitura

Como configurar o Cloudflare em um site hospedado no cPanel?

3mn leitura

Como utilizar o Memcached no seu sítio Web cPanel?

4mn leitura

Utilizar o Redis como uma cache de objectos persistente para o WordPress no cPanel

4mn leitura

Acelere o seu site com o Fastest Cache - Cache Varnish


Fazer uma pergunta à equipa do LWS e à sua comunidade