optimisation : table de type memory pour les sessions  Début

Aller à la page: [-1] 1 - 2 - 3 [+1]

  • ah dsl j'étais pas retourné voir depuis le temps, je vais voir le détail (pas la peine de penser que c'était fait exprès ...)

    EDIT : te prends pas la tête non plus, si le patch n'intéresse que moi, je me ferais mon petit hack perso








    modifié par : mumuri, 09 Mar 2008 - 20:02



    Membre du PSR Project (Pagesetter replacement)
  • Gilles

    cette évolution n'est possible que sous MySQL et non sous postgresql...


    Ah dommage ça, mais pourquoi cela empêcherait il cette modification, car la structure de la table ne change pas, c'est juste le type de table qui change...
  • c juste qu'il assure la compatibilité avec postgresql, si c'est pas compatible çà passe à la trappe pour la distrib officielle (je pense que c'est aussi parce que la déclaration des tables passe par adodB qui va se charger de faire les créations et je ne crois pas qu'il sait gérer des situations ou on lui donne une table non compatible, ie qu'il sélectionne un type de table plus standard)



    modifié par : mumuri, 10 Mar 2008 - 18:35



    Membre du PSR Project (Pagesetter replacement)
  • çà en est ou finalement ? y' a t il un patch de disponible ?



    Membre du PSR Project (Pagesetter replacement)
  • Finalement, non, pas que je sache. Le soucis c'est que le type memory n'est pas dispo pour tout les types de bases de données... Mais, si je me souviens bien, il suffit de changer le type de la table zk_session_info, et changer, si je me souviens bien le champ pn_vars le changer en varchar de 255...

    A vérifier, tester et tout et tout... mais il me semble que c'est ca !

    A+



    Gilles  ><>°
  • ok merci

    çà te dérange si je le soumets en patch "ressource" sur la partie extension de zikula.org, je te mettrais en auteur ? je suis sur que çà peut intéresser d'autres personnes.



    modifié par : mumuri, 18 Mai 2009 - 16:24
  • Non, vas-y, et met toi en auteur !

    je n'ai malheureusement pas le temps d'y toucher :D

    Par contre, je n'ai eu testé qu'en local et jamais sur un site en live avec du traffic (en dehors de mes bench...)



    Gilles  ><>°
  • Pour les intéressés, voila le code, je teste çà en live sur mon serveur.

    Code

    ALTER TABLE `zk_session_info` CHANGE `pn_vars` `pn_vars` VARCHAR( 255 )  NOT null   ;
    ALTER TABLE `zk_session_info`  ENGINE = MEMORY ;



    Je verrais si j'ai le temps de faire un test de perf uniquement sur la table
    une requete dans ce genre executer 1000 fois avec ou sans memory table

    Code

    SELECT SQL_NO_CACHE `pn_sessid`
    FROM zk_session_info
    ORDER BY rand( )
    LIMIT 0 , 30


    bon manifestement, je n'arrive pas à voir de grosse différence, j'obtiens entre 14 et 17 secondes pour les 1000 requêtes, mais je suis sur un serveur de prof, donc trop d'aléa, du coup je pense pas que je vais soumettre sur la partie extension ... cependant je garde quand la structure actuel histoire de voir ...



    modifié par : mumuri, 18 Mai 2009 - 22:19



    Membre du PSR Project (Pagesetter replacement)
  • c'est a vérifier mais il me semble que la table se "supprime" lors des redémarrage de MySQL...

    en cas de soucis sur le bdd ca casse le site :D



    Gilles  ><>°
  • C'est le cas ,

    mais faut relativiser, çà veut juste dire que chaque fois que tu redémarres ta base, les gens doivent se reconnecter.

    Ensuite, pour ceux qui ont pas compris, l'intérêt c'est de gagner en temps d'exécution sur l'affichage des pages quand vous êtes loggués, çà peut être intéressant par exemple si vous avez un forum de discussions.

    En effet, le temps d'exécution de la requête de récupération des sessions est réduit car la table est stocké en mémoire vive.



    modifié par : mumuri, 19 Mai 2009 - 19:33



    Membre du PSR Project (Pagesetter replacement)
  • La table est juste vidée ou la structure de la table disparait aussi ? Car si c'est le car, les sessions ne fonctionnent plus.

    Gilles



    Gilles  ><>°
  • la table est juste vidée, la structure est défini séparément du contenu, pas de souci à se faire
    la seul contrainte c'est que si vous avez l'habitute de cocher l'option "rester connecté" , si l'admin redémarre sa base , vous devrez vous reconnecter.

    çà n'arrive pas souvent ...



    Membre du PSR Project (Pagesetter replacement)

Aller à la page: [-1] 1 - 2 - 3 [+1]

  • 5 visiteurs

Données pour les 20 dernières minutes