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

Réduire
Ce sujet est fermé.
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 :


    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 à 21/03/2018, 00h43
    e.van, lsainmont et manu93fr aiment ceci.
    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 :
    Since 3.8.4 update, Joomla sessions don't close : dozen of connected users are wrongly shown on frontend Community Builder Online module, and also shown backend admin panel in the last 5 connected ...


    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, 11h23
    e.van aime ceci.
    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, 17h48
      e.van, manu93fr et 2 autres aiment ceci.
      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 - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        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
          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 à 21/03/2018, 00h46
            6possible aime ceci.
            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, 10h14

              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, 14h56

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X