Websourcing.fr

Websourcing.fr » Actualités, Web, Logiciels et Fun

Image pour [WordPress] Debug-Queries, un plugin pour analyser les requĂȘtes SQL de votre blog

[WordPress] Debug-Queries, un plugin pour analyser les requĂȘtes SQL de votre blog

Depuis quelques temps, mon blog se traine. Effet d’une reprise du trafic ou vĂ©ritable problĂšme dĂ» Ă  un plugin mal codĂ©? Je n’ai pas encore la rĂ©ponse, mais quoiqu’il en soit, je suis sur le coup.

Pour m’aider dans mes dĂ©marches, j’ai cherchĂ© Ă  analyser les requĂȘtes SQL qui sont orchestrĂ©es par la plateforme WordPress.

Il y a plusieurs techniques dont celle de dĂ©velopper un objet qui va s’intercaler entre la base de donnĂ©es et le moteur de blog. Mais WordPress possĂšde dĂ©jĂ  une classe mĂ©connue, qui avec un peu de tuning peut rapidement vous rendre de fiers services.

Dans la classe PHP wpdb du fichier /wp-includes/wp-db.php, une constante nommée SAVEQUERIES est définie. Bizarrement celle-ci ne se trouve pas dans le fichier wp-config.php.

if (!defined('SAVEQUERIES'))
define('SAVEQUERIES', false);

class wpdb {

var $show_errors = true;
var $num_queries = 0;
var $last_query;
var $col_info;
var $queries;
var $prefix = '';

...

Le simple fait de changer la valeur de SAVEQUERIES Ă  true, va vous donner accĂšs Ă  une foule d’informations dont la plus intĂ©ressante est la capacitĂ© d’afficher les requĂȘtes SQL brutes (c’est Ă  dire lisibles).

Vous pouvez Ă  partir de lĂ , journaliser les requĂȘtes et les analyser Ă  posteriori. Mais le mieux est de le faire en live, directement sur les pages concernĂ©es par les requĂȘtes.

Debug-Queries est un plugin qui exploite la possibilitĂ© offerte par la constante SAVEQUERIES de prĂ©senter les requĂȘtes SQL de WordPress directement sur les pages du blog.

debug queries plugin wordpress websourcing fr 500x292 [Wordpress] Debug Queries, un plugin pour analyser les requĂȘtes SQL de votre blog

Les requĂȘtes sont toutes prĂ©sentĂ©es et dĂ©taillĂ©es. Le plugin vous donne le temps, la requĂȘte SQL complĂšte avec ses paramĂštres et la fonction PHP appelante.

Il est ainsi possible de trouver oĂč se situe le goulot d’Ă©tranglement.

A noter que l’affichage ne concerne que les administrateurs du site. Les autres visiteurs ne voient (heureusement) pas cet encart.

Il faut tout de mĂȘme s’y connaitre, Ă  la fois en PHP et en SQL. A rĂ©server donc aux spĂ©cialistes et aux Webworkers qui interviennent sur ce genre de problĂšmes.

download ico [Wordpress] Debug Queries, un plugin pour analyser les requĂȘtes SQL de votre blogTĂ©lĂ©chargez le plugin Debug-Queries pour WordPress


Cet article vous a plu ?

Commenter Laissez un commentaire | Recevez les mises à jour Souscrivez au flux RSS | Partager : Twitter AddInto Fuzz del.icio.us Wikio FR Blogonet
Websourcing.fr - Tous droits réservés. Reproduction interdite sans accord préalable.
  1. Répondre Citer #1 par maria le 24 fĂ©vrier 2010 - 13:37

    Merci pour ce plugin que j’ai testĂ©, trĂšs pratique l’assurance de bien debuguer son site..
    J’ai trouvĂ© une version similaire qui peut ĂȘtre un peu plus « lisible » dans la forme: SQL Monitor

    Mais je pense que c’est identique sur le reste

  2. Répondre Citer #2 par Fabien le 24 fĂ©vrier 2010 - 23:07

    Hello
    J’avais installĂ© ce plugin il y a un moment et puis… je viens d’avoir un magnifique plantage liĂ© Ă  un trop grand nombre de connexions SQL donc je l’ai rĂ©activĂ©

    As-tu rĂ©ussi Ă  l’exploiter ?
    Sans ĂȘtre rĂ©ellement perdu c’est un peu galĂšre quand mĂȘme ! :’(

    • Répondre Citer #3 par Lionel Roux le 24 fĂ©vrier 2010 - 23:36

      C’est clair qu’il faut dĂ©jĂ  avoir une bonne idĂ©e du schĂ©ma de la base et de comment optimiser tout ca.
      Je te conseille d’installer le plugin WP-DB-Cache ou un truc dans le genre, ca crĂ©e un vrai tampon pour les requĂȘtes courantes.
      @+

  3. Répondre Citer #4 par Fabien le 25 fĂ©vrier 2010 - 00:27

    C’est dĂ©jĂ  fait c’est bien lĂ  le problĂšme :(

    En fait WP Super Cache + DB Cache Reloaded + Plugin Output Cache (pour les plugins de Rob Marsh, SJ) et pourtant ça dĂ©conne… Mes pages continuent Ă  gĂ©nĂ©rer de 5 Ă  30 requetes mĂȘme aprĂšs mise en cache.

    D’un autre cotĂ© j’ai un hĂ©bergement mutualisĂ© bon marchĂ© et 63 plugins activĂ©s
    Sans aucun cache certaines pages gĂ©nĂšrent donc jusqu’Ă  100 requĂȘtes SQL ce qui est proprement honteux …

    Peut on considĂ©rer que les temps de rĂ©alisation des requĂȘtes SQL sont proportionnels Ă  la charge serveur gĂ©nĂ©rĂ©e ?
    Y a t il un moyen quelconque de logger d’Ă©ventuelles erreurs SQL (hors log d’erreur Apache standard) ?

    • Répondre Citer #5 par Lionel Roux le 25 fĂ©vrier 2010 - 10:13

      63 plugins !!!!! Tu es sans doute le recordman du monde.

      ne cherche pas plus loin, certains plugins sont codés avec les pieds, Il faut que tu isoles celui ou ceux qui consomment le plus, et que tu cherches des alternatives.

      Pour les logs, tout dĂ©pend si tu as accĂšs Ă  la base en tant qu’admin. je ne pense pas.

      Et effectivement, le mutu n’arrange pas les choses. Pour avoir un meilleur mutu, je te conseille web4all.fr

  4. Répondre Citer #6 par Fabien le 25 fĂ©vrier 2010 - 11:29

    C’est clair que 63 c’est bcp trop … :-$
    Je pense passer en serveur dĂ©diĂ© ce sera plus cher mais comme comme j’ai plusieurs sites Ă  hĂ©berger l’un dans l’autre ca me coutera pas bcp plus cher

    En attendant une idĂ©e sur la façon d’identifier les fameux plugins trĂšs gourmands en utilisant Debug-Queries ?
    DĂ©solĂ© je suis casse-pied et incompĂ©tent … mais je craque !

(Ne sera pas publié)
  1. Pas encore de trackback.