Desempenho e monitorização

PHP X-Ray: descobrir passo a passo o que torna o seu site lento

Revisto a 5 min de leitura PHP X-Ray desempenho

Descobrir porque é que um site está lento ou o que provoca um consumo elevado de CPU pode ser muito difícil. O X-Ray simplifica isso: durante um período ou um número de pedidos escolhidos por si, analisa a fundo cada pedido PHP do seu site e indica quanto tempo consumiu cada plugin, cada consulta SQL, cada função PHP e cada chamada a servidores externos. Assim fica a saber exatamente onde está o problema.

Criar uma análise

  1. No cPanel, abra a X-Ray App.

  2. No canto superior direito, clique em Start tracing.

  3. Escolha o domínio que pretende analisar.

  4. Em Specify mask, indique que endereços analisar:

    • Uma página concreta: para dominio.com/direccion-lenta, escreva direccion-lenta.
    • A página inicial: /.
    • Todas as páginas: *.
    • Todas as que começam por um caminho: para dominio.com/clientes/acceso, dominio.com/clientes/comprar, etc., escreva clientes/*.

    Também pode usar ? e []; a ligação How to use special characters? do formulário explica como.

    Formulário para criar uma análise no X-Ray

  5. Por predefinição, o X-Ray analisa um pequeno número de pedidos que correspondam ao padrão. Para analisar mais pedidos ou durante mais tempo, clique em Advanced settings e ajuste-o.

  6. Clique em Run.

A análise aparece na lista. O X-Ray não gera visitas: espera que alguém carregue as páginas. Se for uma página pouco visitada, abra-a você mesmo no navegador algumas vezes. Quando atinge o número de pedidos ou o tempo definido, termina sozinha; também a pode parar antes.

Lista de análises em curso no X-Ray

Se a página que pretende analisar for servida a partir da cache (por exemplo, do LiteSpeed Cache), o PHP não é executado e o X-Ray não regista nada. Analise a página com a sessão do WordPress iniciada ou limpe antes a sua cache.

Ler os resultados

Pode esperar que termine ou ir vendo os pedidos já analisados. Aparecem numa lista que pode ordenar por tempo de execução, e os lentos são assinalados primeiro.

Lista de pedidos analisados pelo X-Ray ordenados por tempo

Ao abrir um pedido, verá:

  • O tempo total de execução.
  • O URL exato.
  • Os plugins ou componentes do site e o tempo que cada um consumiu.
  • As chamadas a servidores externos e quanto demoraram.
  • As consultas SQL, com o ficheiro de onde vêm e o seu tempo.
  • As funções PHP que mais tempo consomem e onde estão no código.

Repartição do tempo por plugin, consultas SQL e funções num relatório do X-Ray

Pode descarregar o relatório em PDF para o enviar ao programador do site ou do plugin.

Alguns casos típicos:

  • Um plugin fica com a maior parte do tempo: desative-o e verifique se a página melhora. Procure uma alternativa ou atualize-o.
  • Uma chamada externa demora vários segundos (uma API, um serviço de licenças, um feed): o site espera por esse servidor em cada visita. Reveja o plugin que a faz.
  • Uma consulta SQL demora muito, ou uma consulta rápida repete-se centenas de vezes: costuma indicar uma tabela sem índice ou um plugin mal programado. Se for a wp_options, consulte a tabela wp_options e os dados autoload.

A ter em conta

  • O X-Ray torna mais lentos os pedidos que analisa. Analise poucos pedidos, durante pouco tempo, e pare a análise quando tiver a informação.

  • Se a conta estiver a atingir os seus limites de CPU ou de memória, os tempos aparecem alterados. O X-Ray avisa disso no pedido afetado para que o tenha em conta.

    Aviso do X-Ray de pedido afetado pelos limites de recursos

  • O X-Ray mede o que acontece no servidor. O tempo que o navegador demora a descarregar imagens ou a executar JavaScript pode vê-lo no PageSpeed Insights.

  • O relatório pode incluir URLs, consultas e parâmetros do seu site. Reveja-o antes de o partilhar.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.