Uma forma bacana de verificar se seu WordPress está consumindo muitos recursos do servidor é através da quantidade de consultas (queries) ao banco de dados que são realizadas a cada carregamento de página. O WordPress, por ser um sistema dinâmico e não ter, por padrão, um sistema de cache, sempre solicita dados ao banco de dados para “montar” a página e exibir o que o leitor deseja. Assim, saber se essa comunicação está normal é uma boa maneira de encontrar erros e corrigi-los.
Recentemente passei por um sufoco desses. No WinAjuda, graças ao plugin Related Entries, que simplesmente dobrava a quantidade de consultas ao BD quando executado, derrubei alguns servidores por aí, hehe :D. Saber a quantidade de consultas ao BD foi essencial para que eu detectasse o problema, e o eliminasse.
O próprio WordPress tem uma tag especial com essa finalidade. Duas, para ser mais exato… Basta inserí-las no local desejado, e pronto. Sem mais delongas, vamos a ela:
<?php echo get_num_queries(); ?> consultas - <?php timer_stop(1); ?> segundos.
A tag das queries não possui parâmetros. Já a do tempo, sim. O número 1 entre parênteses (1) faz com que o valor seja mostrado (meio idita esse parâmetro, não? Digo, se não quiser mostrar, pra quê colocar a tag?). Além desse útil parâmetro, há outro que pode ser adicionado na seqüência, indicando a quantidade de casas depois da vírgula que serão exibidas. O padrão é 3, e o valor pode ser de 0 a 10. Exemplo:
<?php timer_stop(1,5); ?>
Para servir de base para sua análise, uma instalação limpa do WordPress faz, em média, de 25 a 30 consultas para exibir uma página (o número varia de acordo com o lugar do blog - home, post, arquivos etc.).
A propósito, este post foi motivado por uma dúvida do Thiago Mobilon. Antes tarde do que nunca, né? :).
wordpress, wp, related, queries, consultas, bd, db database, banco, dados, exibir
Tags: banco, bd, consultas, dados, db database, exibir, queries, related, WordPress, wp.Excelente post.
Me motivou a tomar mais cuidado com o que faço em minhas ações no Wordpress.
Gozado isso.
Profissionalmente, não aceito lançar um projeto sem um monte de QA’s, testes de usabilidade, etc e tal. Derrepente, em um projeto pessoal como o Labpress, me pego fazendo absurdos.
Casa de ferreiro, espeto de pau, né?
PS: O Labpress, em sua home, registrou 27 consultas - 1.930 segundos.
Posted by Alê Moreno
August 29th, 2007, às 10:47 am. #.
Excelente dica Rodrigo, obrigado.
Já fiz o testo no meu blog e fiquei satisfeito com o desempenho.
O Nerd Games faz 22 consultas na página principal, 28 nos posts e 25 nas páginas.
Fiquei abaixo dos 30, o que significa que estou “quase” com WP limbo, embora tenho vários plugins.
Mas mesmo assim não abuso muito, deixo já por padrão o WP-Cache ativado.
Quais o resultados que você obteve aqui no BlogAjuda?
Abraço!
Posted by Thiago Rodrigues
August 29th, 2007, às 11:03 am. #.
Agora sim!
Já apliquei lá no TecnoBlog. A homepage está mostrando 34 consultas, e a silglepage mostra 21.
Obrigado pela dica Ghedin.
um abraço!
Posted by Thiago Mobilon
August 29th, 2007, às 2:14 pm. #.
[…] um artigo no BlogAjuda que mostra como colocar o numero de Queries executados e o tempo de carregamento de […]
Posted by Wordpress: MySQL Queries e Loading time « Blue MUIOMUIO - Por Mario Andrade
August 29th, 2007, às 6:18 pm. #.
Opa, blz?
Sobre o primeiro parâmetro da função timer_stop() é útil para quando vc deseja apenas receber o resultado - para armazená-lo em alguma variável, por exemplo - afim de realizar cálculos ou algo semelhante.
Se o único retorno fosse a exibição (ex.: echo $x), isso não seria possível.
[]s
Gustavo
BlogAjuda © 2007.
Simple Grey theme developed by Rodrigo P. Ghedin.