Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

    Bonjour,

    Nous venons de mettre en ligne la version Joomla 1.7 de notre site web catnat.net (http://www.catnat.net) qui était auparavant sous Joomla 1.5. Depuis cette mise en ligne nous rencontrons de très importants problèmes, à savoir des ralentissements du site liés à une multiplication de requête mySql et le fameux problème d'Infinite Loop.

    Nous avons demandé à notre hébergeur de nous fournir le log des erreurs mysql enregistrés sur une période de 24h. Celui-ci est très conséquent et faire apparaître une requête qui revient sans cesse et qui est certainement à l'origine des crash de mysql:

    # Time: 120229 19:31:36
    # User@Host: ####### @ [193.200.###.###]
    # Query_time: 7 Lock_time: 0 Rows_sent: 5 Rows_examined: 110965
    SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, uam.name as modified_by_name,CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END as publish_up, a.publish_down, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, LENGTH(a.fulltext) AS readmore ,CASE WHEN badcats.id is not null THEN 0 ELSE a.state END AS state,c.title AS category_title, c.path AS category_route, c.access AS category_access, c.alias AS category_alias,CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author,ua.email AS author_email,contact.id as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count as rating_count,c.published, CASE WHEN badcats.id is null THEN c.published ELSE 0 END AS parents_published
    FROM rtrep_content AS a
    LEFT JOIN rtrep_content_frontpage AS fp ON fp.content_id = a.id
    LEFT JOIN rtrep_categories AS c ON c.id = a.catid
    LEFT JOIN rtrep_users AS ua ON ua.id = a.created_by
    LEFT JOIN rtrep_users AS uam ON uam.id = a.modified_by
    LEFT JOIN rtrep_contact_details AS contact on contact.user_id = a.created_by
    LEFT JOIN rtrep_categories as parent ON parent.id = c.parent_id
    LEFT JOIN rtrep_content_rating AS v ON a.id = v.content_id
    LEFT OUTER JOIN (SELECT cat.id as id FROM rtrep_categories AS cat JOIN rtrep_categories AS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUP BY cat.id ) AS badcats ON badcats.id = c.id
    WHERE CASE WHEN badcats.id is null THEN a.state ELSE 0 END = 1 AND a.catid IN (103,130,241,151,233,232,231,230,229,228,227,226,2 25,224,223,222,221,220,219,218,234,194,195,196,198 ,200,199,197,201,216,215,214,213,212,211,210,209,2 08,207,206,205,204,203,202,217,133,109,136) AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2012-02-29 18:31:29') AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2012-02-29 18:31:29')
    GROUP BY a.id
    ORDER BY a.created DESC LIMIT 0, 5;

    Cela vous évoque-t-il quelque chose ?

    Pour info, originellement nous utilisions les module Raxo All-mode-pro sur notre page d'accueil et nous les avons retiré car cela provoquait clairement des plantages mysql. Sauf que même sans ses modules publiés, les requêtes en erreur subsistent (certes dans une moindre mais tout de même).

    Nous jetons donc cette bouteille à la mer en espérant qu'une âme charitable puisse nous éclaircir, ou au moins nous fournir des pistes, sur ce problème.

    Merci d'avance.
    Dernière édition par yorik à 01/03/2012, 10h41
    --------------------------------------------
    Veille permanente des CATastrophes NATurelles :
    http://www.catnat.net

  • #2
    Re : Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

    Bonjour,
    ça ressemble fort à la requète standard du contenu, qui est utilisée dans le com_content et quelques modules inféodée.
    On a déjà vu passer un cas de ralentissement avéré avec un site qui maintenait pratiquement tous ses articles avec "en vedette" activé.
    Sinon il y a ça qui fait un peu peur :
    Code:
    a.catid IN (103,130,241,151,233,232,231,230,229,228,227,226,2 25,224,223,222,221,220,219,218,234,194,195,196,198 ,200,199,197,201,216,215,214,213,212,211,210,209,2 08,207,206,205,204,203,202,217,133,109,136)
    Moi je ferais tourner la requête dans phpMyAdmin et j'enlèverais progressivement des jointures pour voir quand ça va s'améliorer significativement...
    Schtroumpfe toi le Schtroumpf t'aidera.
    Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

    Commentaire


    • #3
      Re : Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

      Merci pour ta réponse. Effectivement il y a pas mal de modules natifs de joomla qui y font appel mais on les a déconnecté et rien n'y fait.

      Il ne faut pas avoir peur des catégories le site en possède effectivement une floppée
      --------------------------------------------
      Veille permanente des CATastrophes NATurelles :
      http://www.catnat.net

      Commentaire


      • #4
        Re : Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

        Dans les logs, tu as la requete sql exexutees, certes c'est bien mais la duree pendant laquelle elle s'est executee, c'est mieux.

        Est ce que le serveur web repond correctement?
        Est ce que le serveur mysql est il bien parametre?
        Cb d'article as tu a l'interieur?

        C'est une nouvelle install et tu as tout refait ou tu as migre avec des elements comme Jupgrade?

        Est ce que les index sont ils bien mis?

        Voila les pistes.

        ++
        Wis

        Edit : La derniere fois que j'ai des infinites Loop, c'est le php qui etait mal parametre.

        Commentaire


        • #5
          Re : Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

          Pour répondre à tes questions :

          - La durée des requêtes est variable allant de 10 seconde à 1 minute des fois
          - Le site est sur un serveur dédié qui turbinait très sous 1.5 et tourne bien sous 1.7 pendant 2 ou 3 h jusqu'à ce qu'il se fasse flooder de requêtes
          - Pour Mysql à quoi penses-tu comme paramètrage qui poserait problème ?
          - Nbre d'article : 13200
          - Le site a migré de J1.5 à 1.7. La base a été migrée avec SP Upgrade
          - Les index ont été vérifiés, ils sont OK
          -Aucune table n'est corrompue
          --------------------------------------------
          Veille permanente des CATastrophes NATurelles :
          http://www.catnat.net

          Commentaire


          • #6
            Re : Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

            Re,
            tu n'as pas réagi à ça :
            On a déjà vu passer un cas de ralentissement avéré avec un site qui maintenait pratiquement tous ses articles avec "en vedette" activé.
            Effectivement il y a pas mal de modules natifs de joomla qui y font appel mais on les a déconnecté et rien n'y fait.
            manifestement, il reste pourtant un composant ou n module qui la lance...

            Il ne faut pas avoir peur des catégories le site en possède effectivement une flopée
            C'est le "select in" portant sur une trentaine de valeurs qui me fait peur...

            Le site est sur un serveur dédié qui turbinait très sous 1.5
            Oui mais avec la gestion des droits et quelques joyeusetés les requêtes se sont complexifiées et certains cas limites sont devenus critiques dans la 2.5. D'où le test que je suggérais pour essayer de cerner ce qui coince.
            Dernière édition par Grand Schtroumpf à 01/03/2012, 20h02
            Schtroumpfe toi le Schtroumpf t'aidera.
            Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

            Commentaire


            • #7
              Re : Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

              Jamais plus de 10 ou 15 articles en vedette donc de ce côté là ça devrait passer.

              On va essayer de faire tourner la requête en enlevant des jointures effectivement.
              --------------------------------------------
              Veille permanente des CATastrophes NATurelles :
              http://www.catnat.net

              Commentaire


              • #8
                Re : Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

                - La durée des requêtes est variable allant de 10 seconde à 1 minute des fois
                - Le site est sur un serveur dédié qui turbinait très sous 1.5 et tourne bien sous 1.7 pendant 2 ou 3 h jusqu'à ce qu'il se fasse flooder de requêtes
                Quand tu parles du temps, c'est le rendu dans ton navigateur ou c'est le rendu mysql?

                Tu peux expliquer davantage : il marche bien pendant 2 a 3h jusqu'a qu'il se fasse flooder de requete? .....

                ++

                Edit : Ta page d'accueil fait 3.5Mo, ca fait peut etre un peu lourd..... 35" de telechargement/affichage.
                Dernière édition par Wismer à 02/03/2012, 09h42

                Commentaire


                • #9
                  Re : Joomla 1.7 : ce type de requête MySql vous évoque-t-il quelque chose

                  Je parle avant tout du rendu SQL (processus) après ça a bien sûr des conséquences sur la vitesse d'affichage du site bien sûr.

                  Le site fonctionne en effet bien durant plusieurs heures d'affilées et tout à coup sans raison (pas plus de visiteurs...) le nombre de processus SQL s'embale avec beaucoup de requête comme celle mise dans ce post qui, démultipliées, mettent de plus en plus de temps à s'effectuer jusqu'au plantage complet. Le plus bizarre c'est que, lors de cet emballement, il y a des requêtes qui s'effectuent toutes seules et concernent d'autres tables de composants divers. C'est un peu comme si totu à coup le site avait une vie propre !!!

                  J'ai réduit la taille de la page d'accueil ;-)
                  --------------------------------------------
                  Veille permanente des CATastrophes NATurelles :
                  http://www.catnat.net

                  Commentaire

                  Annonce

                  Réduire
                  1 sur 2 < >

                  C'est [Réglé] et on n'en parle plus ?

                  A quoi ça sert ?
                  La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                  Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                  Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                  Comment ajouter la mention [Réglé] à votre discussion ?
                  1 - Aller sur votre discussion et éditer votre premier message :


                  2 - Cliquer sur la liste déroulante Préfixe.

                  3 - Choisir le préfixe [Réglé].


                  4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                  2 sur 2 < >

                  Assistance au forum - Outil de publication d'infos de votre site

                  Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                  Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                  Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                  UTILISER À VOS PROPRES RISQUES :
                  L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                  Problèmes connus :
                  FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                  Installation :

                  1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                  Archive zip : https://github.com/AFUJ/FPA/zipball/master

                  2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                  3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                  4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                  5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                  6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                  et remplacer www. votresite .com par votre nom de domaine


                  Exemples:
                  Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                  Télécharger le script fpa-fr.php dans: /public_html/
                  Pour executer le script: http://www..com/fpa-fr.php

                  Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                  Télécharger le script fpa-fr.php dans: /public_html/cms/
                  Pour executer le script: http://www..com/cms/fpa-fr.php

                  En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                  Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                  Voir plus
                  Voir moins
                  Travaille ...
                  X