optimisation postnuke (pnmod.php)  Début

  • Dans postnuke, il existe des variables de configurations qui sont chargé à partir de la bdd MySQL, ces données de configuration ne changent que quand vous les modifiez dans la partie admin. J'ai donc crée un systéme qui mettez en cache toutes ces variables pour éviter des appels inutiles à la base (fonctions affectés, pnModCallHooks, pnModGetVar,pnConfigGetVar etc ...)

    Pour l'instant, l'install est plutot artisanal, j'essairai de faire un truc plus sérieux si des gens sont intéréssés.

    Tout d'abord, remplacer le fichier pnmod.php par celui ci.
    version 1
    http://forum.topflood.com/postnuke-optimiser-t1367.html

    Ensuite, aprés avoir bien configurer votre postnuke dans la partie administration, il faut générer la mise en cache de la configuration

    pour cela, créer un dossier "pnTemp\mod_Config"

    ensuite, éditer le fichier "http://postnuke-france.org/index.html" et rajouter aprés pnInit(); pnmod_writemodcache();
    Charger le fichier index.php une fois pour générer la mise en cache de la configuration

    puis mettez "pnmod_writemodcache();" en commentaire

    Code

    pnInit();
    //pnmod_writemodcache();


    Et voila,


    EDIT:Un truc qui peut être pas mal, mettre "pnmod_writemodcache();" dans /admin.php, comme çà dés qu'on arrive sur la page d'administration, çà écrit le cache (ceci dit encore faut t'il recharcher la page admin.php aprés avoir modifié un module










    modifié par : mumuri, 28 Avr 2007 - 00:17



    Membre du PSR Project (Pagesetter replacement)
  • Ouai zoli boutot ;)

    C'est vrai que c'est vraiment pas con de mettre en cache se genre de données, mon idée !
  • merci en faites , je pense que toutes les données spécifiques à la partie administration devrait être mis en cache, genre la liste des modérateurs sur un pnforum est typiquement un truc qui peut être mis en cache.Si on poursuit l'idée les permissions peuvent aussi être mis en cache .



    Membre du PSR Project (Pagesetter replacement)
  • L'idée est louable et pas mauvaise...

    Petite modification... en fait...... méga importante modification je dirais pour éviter certains problêmes.

    Code

    include_once pnConfigGetVar('temp') . '/Mod_Config/pnmodvar_config.php';
    // au lieu de :
    // include pnConfigGetVar('temp') . '/Mod_Config/pnmodvar_config.php';


    Déjà, le système (au-delà de PostNuke) ne chargera pas inutilement le même fichier plusieurs fois.

    Dans le cas d'un gros fichier comme celui des config de modules, le gain sera très probablement douteux en comparaison à une requête SQL qui de toute façon, n'est éxécutée qu'une seule fois elle aussi...


    Mais ça se défend (quoique la mise en cache ne soit pas la réponse à tout).
    Faudrait faire des benchmark je présume.
    A potasser ! icon_wink




    Chestnut !
    Administrateur
    Aucun Support par message privé...
    Même en cas de pensée suicidaire !
    Règles à suivre
  • faut compter aussi les hooks et les pnmodsetvar, ca commence à faire quelques requêtes
    le but original était de se rapprocher le plus possible d'un site "fait maison" qui n'utilise pas de requetes sql pou récupérer ce genre de paramétres

    merci pour la modif, je vais arranger çà



    modifié par : mumuri, 05 Sep 2006 - 12:15



    Membre du PSR Project (Pagesetter replacement)
  • 6 visiteurs

Données pour les 20 dernières minutes