[ADVANCED] systeme de cache pour phpbb

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

dcz
WRInaute passionné
WRInaute passionné
 
Messages: 722
Inscription: Mer Mar 02, 2005 2:04

[ADVANCED] systeme de cache pour phpbb

Message le Mer Oct 26, 2005 11:14

Hello,

Je viens de découvrir ce fabuleux mod pour phpbb.

Son principe est simple, il met en cache les requètes sql les plus courantes (liste des forum et des sujet du forum) ce qui à pour effet de réduire le nombre de requètes sql et donc d'ameliorer grandement la vitesse de chargement des pages.

Il est développé sur phpbbstyles à partir de code utilisé par cyberalien sur phpbbstyle.

lien vers le sujet
télécharcger Cached Generation (SQL Cache) RC 2

Le code est suffisemment serieux pour être utilisé par phpbbstyle.com et s'adjoint parfaitement avec le systeme de cache de templates de cyberalien : xs mod

En gros, ce code va créer un cahce et le maintenir à jour pour une partie des requètes sql, dans mon cas, pour l'index, je passe de 13, voir 15 requètes au premier chargement (après instal du mod) à 6 une fois le premier chargement effectué (et donc la mise en cache).

Pour viewforum, de 15 à 7, aucun changements pour viewtopic (ce mod ne met pas le contenu des post en cache (cela ferait beaucoup de place quand même).

Le resultat est épatant, vraiment plus rapide, on dirait qu'avec ça, phpbb peut s'offrir une deuxieme jeunesse, on pourra plus dire que c'est le forum le plus lent !

Par contre, attention, il y a beaucoup de code à changer, pas que ce soit très difficile, mais il faut être très attentif en le faisant, car il sera difficile de débugguer un code mal appliqué (et plus il y a de changment, plus le risque de bourde augmente ...).

Il faut bien prendre en compte les tabulation dans le code, cela evitera de se gourer de ligne dans auth.php et aussi, il faut effectuer toutes les occurance du même changement dans function_post.php (cette instruction :

Code: Tout sélectionner

#-----[ FIND ]------------------------------------------ 

               WHERE topic_id = $topic_id"; 
            if (!($result = $db->sql_query($sql))) 
            { 

#-----[ AFTER, ADD ]------------------------------------------ 

                $db->clear_cache('posts_');

)


Pour rendre ce mod compatible avec simple subforum de cyberalien :

Code: Tout sélectionner

#-----[ OPEN ]------------------------------------------ 

viewforum.php 


#-----[ FIND ]------------------------------------------ 

       break; 

if ( !($result = $db->sql_query($sql)) ) 


#-----[ REPLACE WITH ]------------------------------------------ 

       break; 

if ( !($result = $db->sql_query($sql, false, 'posts_')) )


Il affichera, si vous le voulez, le temsp de chargement de page et le nombre de requètes sql dans votre footer.

Et, dernière chose, il est compatible avec cette suite de mod d'url rewriting + titre pour phpbb


++
Dernière édition par dcz le Mer Oct 26, 2005 13:40, édité 1 fois.

caranet
WRInaute impliqué
WRInaute impliqué
 
Messages: 289
Inscription: Jeu Jan 22, 2004 17:17

Message le Mer Oct 26, 2005 13:17

Salut merci pour ce post très interessant !

En cherchant un peu sur le site j'ai trouvé aussi cette modification à faire sur index.php :

Code: Tout sélectionner

#-----[ FIND ]------------------------------------------ 

       ORDER BY aa.forum_id, u.user_id"; 
     


#-----[ REPLACE WITH ]------------------------------------------ 

       ORDER BY aa.forum_id, u.user_id"; 
   if ( !($result = $db->sql_query($sql, false, true)) )

caranet
WRInaute impliqué
WRInaute impliqué
 
Messages: 289
Inscription: Jeu Jan 22, 2004 17:17

Message le Mer Oct 26, 2005 13:21

Autre petite modification de functions.php


Code: Tout sélectionner

#-----[ OPEN ]------------------------------------------ 

includes/functions.php 


#-----[ FIND ]------------------------------------------ 

   $row = $db->sql_fetchrow($result); 


#-----[ AFTER, ADD ]------------------------------------------ 

   $db->sql_freeresult($result); 

dcz
WRInaute passionné
WRInaute passionné
 
Messages: 722
Inscription: Mer Mar 02, 2005 2:04

Message le Mer Oct 26, 2005 13:22

t'as vu ça sur phpbbstyles.com?
T'es sur que le code n'est pas a jour sur cela et que c'est vraiment utile ?


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Message le Mer Oct 26, 2005 13:26

merci bien je vai tester ça dans la journée ;-)

dcz
WRInaute passionné
WRInaute passionné
 
Messages: 722
Inscription: Mer Mar 02, 2005 2:04

Message le Mer Oct 26, 2005 13:38

dcz a écrit:t'as vu ça sur phpbbstyles.com?
T'es sur que le code n'est pas a jour sur cela et que c'est vraiment utile ?


Verification faite, le code que tu as proposé est inclus dans l'install, le mod est a jour donc ...


Cartapus
WRInaute impliqué
WRInaute impliqué
 
Messages: 475
Inscription: Ven Juin 18, 2004 21:57

Message le Jeu Oct 27, 2005 20:43

Super mod bien qu'on puisse l'améliorer encore.

Petit bug: je sais pas si c'est à cause de mon url rewriting mais la page de recherche est inaccessible. message: "Vous n'avez pas la permission de rechercher quelconque forum sur ce site."

Je suppose que ça coince dans auth.php, d'autres dans le même cas?

PS: a priori un problème dans la fonction auth (auth.php)

EDIT:
dans le fichier auth.php
Code: Tout sélectionner
#
#-----[ OPEN ]------------------------------------------
#
includes/auth.php

#
#-----[ FIND ]------------------------------------------
#
            $forum_match_sql";
      if ( !($result = $db->sql_query($sql)) )

#
#-----[ REPLACE WITH ]------------------------------------------
#
            $forum_match_sql";
      if ( !($result = $db->sql_query($sql, false, true)) )

#

On peut trouver deux cas - faut remplacer les deux?
Dernière édition par Cartapus le Jeu Oct 27, 2005 21:19, édité 1 fois.

dcz
WRInaute passionné
WRInaute passionné
 
Messages: 722
Inscription: Mer Mar 02, 2005 2:04

Message le Jeu Oct 27, 2005 21:13

Cartapus a écrit:Super mod bien qu'on puisse l'améliorer encore.

Petit bug: je sais pas si c'est à cause de mon url rewriting mais la page de recherche est inaccessible. message: "Vous n'avez pas la permission de rechercher quelconque forum sur ce site."

Je suppose que ça coince dans auth.php, d'autres dans le même cas?

PS: a priori un problème dans la fonction auth (auth.php)


J'ai pas ce problème et j'utilise du mod rewrite.
Te serais tu pas fait avoir par les tabulations comme je l'ai indiqué dans le premier post concernant les modif de auth.php ?

++


Cartapus
WRInaute impliqué
WRInaute impliqué
 
Messages: 475
Inscription: Ven Juin 18, 2004 21:57

Message le Jeu Oct 27, 2005 21:24

Aucun problème avec les tabulations - faut il remplacer les deux cas dans auth.php?


Cartapus
WRInaute impliqué
WRInaute impliqué
 
Messages: 475
Inscription: Ven Juin 18, 2004 21:57

Message le Jeu Oct 27, 2005 21:40

Plus de problèmes, c'était les tabulations effectivement désolé pour ça

dcz
WRInaute passionné
WRInaute passionné
 
Messages: 722
Inscription: Mer Mar 02, 2005 2:04

Message le Ven Oct 28, 2005 11:02

Cartapus a écrit:Plus de problèmes, c'était les tabulations effectivement désolé pour ça


np, ça m'a fait la même à la premiere install, c'est le principal defaut de ce code, long et un peu equivoque, mais une fois correctement en place il tu.

++


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités