Joomla - Correctif Sessions (Lenteur, Bug, Taille de la base de données)

Réduire
Ceci est un sujet important.
X
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Astuce] Joomla - Correctif Sessions (Lenteur, Bug, Taille de la base de données)

    Corrigé en partie dans la Joomla 3.8.6
    (publié le 13 mars 2018 : https://github.com/joomla/joomla-cms/milestone/31 )

    Il y a un bug qui semble provenir des sessions depuis Joomla 3.8.4.
    Je n'ai pas vu de discussion ou d'annonce sur la 3.8.5 (version actuelle) donc je résume...

    Théoriquement les bugs et correctifs sont annoncés dans la faq mais il n'y a rien d'indiqué à ce sujet :
    https://docs.joomla.org/Category:Version_3.8.5_FAQ

    Le problème évoqué par plusieurs utilisateurs concerne donc les sessions. L'erreur peut provoquer des coupures de site, message d'erreur, ralentissement ou incapacité de se connecter... Le plus souvent on peut visualiser en backend une liste importante des sessions restées ouvertes, ce qui entraîne une augmentation de la taille de la base de données.

    Pour remédier à cela vous pouvez
    - Choisir temporairement de base de données à php via la configuration de joomla ( https://prnt.sc/ip5mx5 )
    ou
    - Utiliser l'extension ESK - Easy Session Killer développé par Viktor Vogel (Site Kubik Rubik).
    Ce plugin nettoie la table Sessions si la configuration du serveur n'exécute pas correctement la routine de nettoyage automatique PHP.
    Pour réduire la charge du serveur et augmenter les performances : l'intervalle de nettoyage et la fréquence à laquelle le plugin doit vérifier la base de données pour les sessions expirées peuvent être réglés manuellement (via les paramètres). Le plugin n'est déclenché qu'en front!
    Page Projet: https://joomla-extensions.kubik-rubi...iller/joomla-3
    Télécharger et installer le plugin en fichier joint (traduit en français!), n'oubliez pas de l'activer dans la gestion des plugins

    ou
    utiliser le plugin Purge des données de session indiqué dans le fil de discussion ci-dessous
    Fichiers joints
    Dernière édition par daneel à 20/03/2018, 23h43
    e.van, lsainmont and manu93fr like this.
    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

  • #2
    Bonjour,

    dans le php sysinfo (accessible depuis le backend de joomla: menu système/infos système/onglet infos php) : http://prntscr.com/ip8vpg
    Si la valeur de session.gc_probability est égale à zéro, cela veut dire que les sessions ne sont plus nettoyées.

    Les configuration de serveur sous debian et ubuntu utilise la valeur à zéro car remplacé par un cronjob, certains frameworks comme symphony force eux-même la réinitialisation ou implante leur propre cycle mais pour joomla, ce n'est pas encore le cas.

    Pour les développeurs et personnes intéressées, voici la discussion :
    https://github.com/joomla/joomla-cms/issues/19585

    Pour remédier au problème définitivement, un plugin pourrait être implanté dans joomla 3.9 (et non dans la 3.8.6) pour gérer les "sessions garbage collection".
    Plus d'infos dans cette discussion : https://issues.joomla.org/tracker/joomla-cms/19687
    A suivre !
    Dernière édition par daneel à 10/03/2018, 10h23
    e.van likes this.
    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

    Commentaire


    • #3
      Sur Joomla 3.8.6, vous avez désormais deux nouvelles solutions :

      - Editer le plugin Système - Purge des données de session
      Normalement activé depuis la mise à jour de Joomla! 3.8.6
      Vous pouvez modifier la probabilité et le diviseur pour accelerer la fréquence de nettoyage

      Cliquez sur l'image pour l'afficher en taille normale  Nom : index.png* Affichages : 1* Taille : 93,9 Ko* ID : 1978049
      - Depuis la commande en ligne sur les deux nouveaux scripts du répertoire cli

      sessionGc.php
      sessionMetadataGc.php

      Comme l'explique l'annonce officielle, cela veut dire créer une tâche planifiée (cron) lancé par votre serveur.
      Cela donne par exemple depuis le panel de votre serveur :

      Code:
      /usr/bin/php /home/nomdusite/public_html/cli/sessionMetadataGc.php
      Depuis 2011, ce répertoire cli de votre site contient par défauts d'autres scripts pour effectuer quelques opérations comme la mise à jour d'extensions.
      Il en existe d'autres sur le net comme celui de postudapte de Michael Babker qui permet de finaliser une mise à jour de joomla.




      Dernière édition par daneel à 20/03/2018, 16h48
      e.van, manu93fr and 2 others like this.
      Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

      Commentaire


      • #4
        Merci pour ces précisions !
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

        Commentaire


        • #5
          Pourquoi faire simple quand on peut faire compliquer ?

          Quand on lit l'explication des paramètres Probabilité et Diviseur, on voit qu'il y a eu du jus de cerveaux là-dedans avec comme moralité : si tu ne comprends pas, tu ne touches pas....

          Euh, chef, j'ai pas tout compris mais, si cela fonctionne....

          Pascal
          JoomlaDay FR 2018 - 18/19 Mai 2018 ! J'y étais ... et vous ?

          If anything can go wrong, it will...
          If I can help, I will ..https://conseilgouz.com

          Commentaire


          • #6
            Envoyé par pmleconte Voir le message
            Pourquoi faire simple quand on peut faire compliquer ?

            Quand on lit l'explication des paramètres Probabilité et Diviseur, on voit qu'il y a eu du jus de cerveaux là-dedans avec comme moralité : si tu ne comprends pas, tu ne touches pas....

            Euh, chef, j'ai pas tout compris mais, si cela fonctionne....

            Pascal
            Ok oui Pascal... Je te conseille la lecture du ramasse-miettes du jdn
            euh... c'est pas une blague !

            https://www.journaldunet.com/web-tec...amasse-miettes
            Dernière édition par daneel à 20/03/2018, 23h46
            6possible likes this.
            Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

            Commentaire


            • #7
              Merci Daneel pour ces informations.
              J'ai vérifié sur mon site, je suis bien en session.gc_probability est égale à zéro.
              J'ai vérifié après la mise à jour en 3.8.6, le plugin de purge des données est activé en 1 et 100 et le plugin easy session killer est activé en probability et 10.
              Ce sont les bons paramètres ?
              Je dois également repasser en "base de données" au lieu de "php" dans la méthode de configuration de session ?
              Bonne journée.
              Dernière édition par e.van à 21/03/2018, 09h14

              Commentaire


              • #8
                Hello e.van,

                Effectivement, le plus simple étant de surveiller en basculant à nouveau en base de données pour les sessions.
                10 en probabilité, donc 10% de chance que le processus de nettoyage soit lancé à chaque requête.
                Dans ton cas, tu peux configurer à 10 et 100 le plugin "natif" de purge et depublier le plugin esk.

                Le plugin ESK n'est utile que si on souhaite utiliser d'autres cycles de nettoyage ( par exemple nettoyage 1 fois tous les deux jours, hebdomadaire... )
                vu que théoriquement le nouveau plugin présent dans la version 3.8.6 de Joomla corrige le problème.

                Personnellement, j'ai seulement laissé à 1 et 100 le plugin natif + un cronjob executé 1 fois par jour qui remplace le plugin esk
                (j'utilise déjà le cron pour des actions de mises à jour et sauvegarde...).


                Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                Commentaire


                • #9
                  Envoyé par daneel Voir le message
                  Sur Joomla 3.8.6, vous avez désormais deux nouvelles solutions :

                  ...

                  Comme l'explique l'annonce officielle, cela veut dire créer une tâche planifiée (cron) lancé par votre serveur.
                  Cela donne par exemple depuis le panel de votre serveur :

                  Code:
                  /usr/bin/php /home/nomdusite/public_html/cli/sessionMetadataGc.php
                  Depuis 2011, ce répertoire cli de votre site contient par défauts d'autres scripts pour effectuer quelques opérations comme la mise à jour d'extensions.
                  Il en existe d'autres sur le net comme celui de postudapte de Michael Babker qui permet de finaliser une mise à jour de joomla.

                  ....

                  Salut Daneel.

                  De quelle "annonce officielle" parles-tu ?

                  Je suppose que si on crée un cron pour faire le boulot, on peut donc désactiver le plugin.

                  Mais je ne trouve nulle part l'information que tu donnes concernant le ou les scripts à lancer en cron.

                  A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                  Rejoignez le Joomla Users Groupe Alsace...
                  roland_d_alsace va-t-il devenir roland_du_grand_est ?

                  Commentaire


                  • #10
                    Envoyé par roland_d_alsace Voir le message
                    De quelle "annonce officielle" parles-tu ?
                    Bonjour,

                    Désolé, je pensais que c'etait facile à retrouver mais en réalité, il n'y a pas d'explication directe.
                    L'annonce sur la version 3.8.6 de joomla.org informe seulement des améliorations diverses sur la gestion des sessions sans donner de détails.

                    Il faut cliquer sur les liens #19548 et #19687 pour obtenir ces précisions sur les scripts et le nouveau plugin.


                    Diverses améliorations de la gestion des sessions #19548 et #19687
                    source : https://www.joomla.fr/actualites/joo...est-disponible
                    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                    Commentaire


                    • #11
                      Bonjour, ce matin, coupure de mon site chez OVH, taille de la base de données en dépassement de celle alloué dans mon contrat.
                      Le copain de mon club, qui ne s'occupe pas du site étant le propriétaire du contrat d'hébergement à eu le technicien de chez OVH. Il lui a proposé de passer sur une offre pro avec une base de données doublée...bien sauf que notre problème était réglé que temporairement. Je suis donc tombé sur cet article https://www.betterweb.fr/blog/augmen...ions-de-joomla qui rejoint ton explication.

                      Commentaire


                      • #12
                        En parallèle d'appliquer les préconisations, j'ai fait une demande d'assistance pour modifier les paramètres coté serveur gc_probability et gc_divisor.
                        J'attends de voir ce qu'ils vont me répondre

                        Commentaire


                        • #13
                          C'est ballot..mais en attendant, les hébergeurs vont relancer leur business si ils sont tous comme nous

                          Commentaire


                          • #14
                            Envoyé par Vicotr Voir le message
                            C'est ballot..mais en attendant, les hébergeurs vont relancer leur business si ils sont tous comme nous
                            Bonjour,

                            oui et non... On n'est pas obligé de demander à ton hebergeur surtout si c'est un serveur mutualisé.

                            Le plus simple est d'utiliser l'une des trois solutions selon ta configuration :
                            - le plugin natif de Joomla 3.8.6 en augmentant la probabilité,
                            - un cron qui execute les scripts dans le repertoire cli,
                            - le plugin esk si on souhaite un nettoyage autrement que par probabilité

                            Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                            Commentaire


                            • #15
                              Ballot car le copain et président du club sans me laisser le temps d'examiner et surtout sans me consulter a fait modifier l'offre . Mais oui, j'ai appliqué les méthodes que tu préconises et c'est redevenu correcte au niveau de ma BD. J'ai pigé le problème et passé joomla dans la dernière version. Mais ça ne résout pas le problème de double connexion. Quand je me connecte pour la première fois en tant qu'admin cote back end , les champs se remettent à zéro. Ce qui m'oblige a retaper l'identifiant et le MDP. Et une fois l'interface ouvert , j'observe mon identité comme étant connecté 2 à 4 fois . Et je trouve, que ça rame les requêtes dans l'interface (ouverture article, enregistrement...etc)
                              Dernière édition par Vicotr à 22/03/2018, 13h56

                              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