Desempenho e monitorização

Analisar as consultas SQL do WordPress

Revisto a 3 min de leitura wordpress base de datos registros

Em casos concretos pode ser útil analisar as consultas SQL geradas pelo WordPress para localizar estrangulamentos, repetições ou chamadas provenientes de um plugin determinado.

Método recomendado: PHP X-Ray

Nos nossos serviços pode utilizar o PHP X-Ray. O relatório relaciona cada consulta com o ficheiro, a função ou o plugin que a executa e mostra o seu tempo dentro do pedido, sem ter de modificar o WordPress.

Limite a análise ao URL problemático e a poucos pedidos. Depois, ordene o relatório por duração e confirme que a consulta se repete em várias amostras antes de alterar índices ou código.

Alternativa temporária dentro do WordPress

Se precisar de informação adicional a partir da própria administração, utilize uma ferramenta de perfilagem mantida, como o Query Monitor, durante o intervalo mínimo necessário. Restrinja o acesso aos administradores, reproduza o problema e desative e elimine a ferramenta no fim.

Não escreva todas as consultas num ficheiro dentro da raiz pública. As instruções podem conter tokens, endereços de email, dados pessoais, caminhos internos ou valores de formulários, e além disso o ficheiro cresceria a cada visita. Ativar SAVEQUERIES também aumenta o consumo de memória, porque guarda todas as consultas do pedido.

O objetivo não é recolher o maior registo possível, mas identificar uma consulta lenta, a sua proveniência e o contexto em que ocorre. Guarde apenas as provas necessárias e elimine qualquer registo temporário que possa conter dados sensíveis.

Transformar a amostra numa melhoria

Anote o URL, se havia sessão iniciada, o tempo total e as consultas que acumulam mais tempo. Distinga uma consulta isolada lenta de centenas de pequenas consultas repetidas. Repita a medição com uma carga comparável e verifique se a resposta estava coberta pela cache de página: nesse caso, o WordPress pode não ser executado nem aparecer um rastreio novo.

Teste qualquer alteração de índice, plugin ou consulta numa cópia e compare tanto as leituras como as escritas. Se partilhar um relatório com o programador, retire os valores pessoais e as credenciais; não publique o dump SQL completo para mostrar um problema de desempenho.

Também lhe pode ser útil

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