|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
dadovb WRInaute accro

Inscrit le: 22 Nov 2005 Messages: 1474 Localisation: Grenoble
|
Posté le : Ven Oct 13, 2006 10:39 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
Bonjour à tous,
Loin de moi l'idée de vouloir concurrencer l'excellent script que vous propose fandecine, je souhaite juste vous présenter la solution de cache que je viens de mettre en place pour le site que je gère : jpcache v2.
Très simple à mettre en place, cette solution offre des gains d'utilisation de ressources assez impressionnants. Il n'est en place que depuis deux jours sur mon site, donc je ne peux pas vous donner un feedback perso (je ne sais même pas comment réaliser des benchmarks sur mon serveur BD... ), mais une petite recherche sur Google donne rapidement une idée des capacités de la bête.
De plus, jpcache utilise gzip pour encoder le contenu et alléger la taille des informations qu'il envoie au navigateur.
l'url : http://www.jpcache.com/
Traduction partielle du readme ( - pour les non-anglophiles) :
| Citation: |
Pré-requis :
- PHP 4.1.0+ avec Zlib activé
- MySQL si vous utilisez la version SQL
Vous pouvez choisir entre stockage dans la BD ou dans des fichiers.
Installation :
0) Télécharger à l'adresse http://sourceforge.net/project/showfiles.php?group_id=23902&release_id=17395...
1) Décider si vous utilisez le stockage MySQL ou fichier
2) Copier le dossier jpcache à la racine de votre site web
3) Modifier jpcache.php : supprimer $includedir qui ne sert à rien si vous copier le dossier tel quel.
4) Modifier jpcache-config.php pour les paramètres de configuration :
- décommenter le paramètre JPCACHE_TYPE correspondant à l'utilisation que vous faire (MysQL ou fichier)
- si vous choisissez le mode fichier pensez à renseigner correctement $JPCACHE_DIR, dossier qui contiendra les fichiers générés et à donner à Apache les droits d'écriture dessus
- si vous choisissez le mode SQL, renseigner les paramètres de connexion à la base (host, database, username, passwd, table). Vous trouverez dans le dossier jpcache, le fichier script.sql qui contient la requete a éxécuter pour créer la table (donc juste un copier-coller à faire sous phpMyAdmin).
5) Vous pouvez facilement tester jpcache, en créant un fichier test.php dans le dossier jpcache :
| Code: |
<?php
require "jpcache.php";
echo time();
phpinfo();
?>
|
Appelez la page dans votre navigateur, puis actualisez, si la date affichée n'a pas changé, c'est bon, jpcache fonctionne.
5) Pour mettre en place jpcache sur votre site, il suffit de rajouter au début de chaque page php :
| Code: |
<? $cachetimeout=600; require "/path/to/jpcache/jpcache.php" ?>
|
$cachetimeout étant la durée en secondes pendant laquelle la page est conservée dans le cache.
- si elle est égale à -1, la page ne sera jamais mise en cache, mais le contenu sera envoyé en compressé, ce qui est déjà un gain de bande passante et de temps de chargement.
- si elle est égale à 0, le cache de cette page n'expirera jamais. Ce qui est très utile pour les pages statiques très lourdes.
Il est possible de mettre en cache la valeur des POST avec la page, d'activer/désactiver le cache, la compression des pages, le mode debug, très simplement dans jpcache-config, c'est juste des variables à passer à 0 (off) ou 1(on).
|
Voilà, je rajouterais une petite précision perso, j'ai eu un problème dans mon cas car j'ai une css pour ie et une autre pour tous les autres navigateurs.
J'ai donc créer deux tables pour stocker le cache dans ma BD car si la page a été mise en cache sous Firefox, et qu'elle est appellée après depuis IE, elle aura le css de firefox, comme tout est mis en cache.
Donc c'set juste une petite condition à rajouter :
| Code: |
if (ereg("MSIE", getenv("HTTP_USER_AGENT"))){
$JPCACHE_DB_TABLE = "cache_ie"; // Table that holds the data - IE pages
}
else{
$JPCACHE_DB_TABLE = "cache_moz"; // Table that holds the data - Moz pages
}
|
Profitez-en bien !  |
|
| |
|
 |
itsme WRInaute passionné

Inscrit le: 13 Oct 2004 Messages: 739 Localisation: Toulouse
|
Posté le : Ven Oct 13, 2006 10:53 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
C'est un tres bon script que j'utilise et conseille regulierement.
Une remarque tout de meme, pour filer vite comme l'eclair, utilises plutot l'option fichier pour le cache. |
|
| |
|
 |
dadovb WRInaute accro

Inscrit le: 22 Nov 2005 Messages: 1474 Localisation: Grenoble
|
Posté le : Ven Oct 13, 2006 10:59 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
Au choix :
- mode fichier : plus rapide
- mode SQL : "it has much faster garbagecollection" ( je ne me lancerais dans une traduction française médiocre avec des histoires de "ramasses-miettes"... ). La mise à jour des tables d'allocation de mémoire est plus rapide en mode SQL, donc à voir selon les besoins. |
|
| |
|
 |
guicara WRInaute accro

Inscrit le: 02 Fév 2006 Messages: 2118 Localisation: Dans nos montagnes...
|
Posté le : Ven Oct 13, 2006 11:35 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
As quoi sert ces genres de scripts ?
Sur un mutualiste sa le fait ? |
|
| |
|
 |
Albert1 WRInaute passionné

Inscrit le: 23 Aoû 2005 Messages: 935 Localisation: Partout & Nulle part
|
Posté le : Ven Oct 13, 2006 11:58 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
perso j'utilise Pear Cache_Lite,
pour des XML, des "homepage"[1] et autres pages à fort "trafic/demande", je pense que c'est presque indispensable.
[1]page d'accueil |
|
| |
|
 |
dadovb WRInaute accro

Inscrit le: 22 Nov 2005 Messages: 1474 Localisation: Grenoble
|
Posté le : Ven Oct 13, 2006 12:46 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
| guicara a écrit: |
As quoi sert ces genres de scripts ?
Sur un mutualiste sa le fait ? |
Ca evite d'appeler le php et d'effectuer des requetes à chaque consultation de page dynamique.
L'internaute se connecte au site, il appelle donc la page index.php, php est appelé, il effectue des appels à la BD si nécessaire. Si la page est mise en cache pour 1 heure, pendant 1 heure, tous le sinternautes qui se connecteront à index.php, "recevront" dans leur navigateur la page en cache, donc pas besoin de réxécuter le php, ni les requetes vers la BD. --> gain de ressources plus ou moins important selon la longueur du script et surtout selon le nombre et la taille des requetes effectuées sur la BD.
Je pense que jpcache peut s'uiliser sans problème sur un mutualisé, car c'est juste du php. |
|
| |
|
 |
serval2a WRInaute accro

Inscrit le: 21 Mar 2005 Messages: 3208 Localisation: A la poursuite de Googlebot.
|
Posté le : Ven Oct 13, 2006 14:21 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
Bonjour,
Je confirme.
Seul reproche, cela gère l'intégralité de la page d'où la necessité de passer par des includes lorsque l'on ne veut pas que la totalité de la page soit mise ne cache.
La sauvegarde sur fichier est de point de vue la plus utile effectivement. |
|
| |
|
 |
guicara WRInaute accro

Inscrit le: 02 Fév 2006 Messages: 2118 Localisation: Dans nos montagnes...
|
Posté le : Ven Oct 13, 2006 16:49 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
Donc la page est mise en page X heures, minutes... ?
Avec cet outil, peux ont vider le cache ? Est il lourd ?
Faut-il mettre un code sur chaque page ?... |
|
| |
|
 |
guicara WRInaute accro

Inscrit le: 02 Fév 2006 Messages: 2118 Localisation: Dans nos montagnes...
|
|
| |
|
 |
dadovb WRInaute accro

Inscrit le: 22 Nov 2005 Messages: 1474 Localisation: Grenoble
|
Posté le : Ven Oct 13, 2006 17:12 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
| guicara a écrit: |
Donc la page est mise en page X heures, minutes... ?
Avec cet outil, peux ont vider le cache ? Est il lourd ?
Faut-il mettre un code sur chaque page ?... |
X c'est des secondes
vider cache : Si MySQL, tu vides la table ; si fichier, tu vides le dossier temp
2 lignes à rajouter sur les pages que tu as besoin de mettre en cache |
|
| |
|
 |
guicara WRInaute accro

Inscrit le: 02 Fév 2006 Messages: 2118 Localisation: Dans nos montagnes...
|
Posté le : Ven Oct 13, 2006 22:32 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
Problème:
J'ai copier les pages a la racine de mon site,
Mis le fichier type a la racine et créer un dossier cache, pour le cache.
fichier test:
-http://www.graphiques-kits.com/test.php
Comprend pas ! |
|
| |
|
 |
dadovb WRInaute accro

Inscrit le: 22 Nov 2005 Messages: 1474 Localisation: Grenoble
|
|
| |
|
 |
gomoz WRInaute occasionnel

Inscrit le: 29 Déc 2004 Messages: 230 Localisation: vannes
|
Posté le : Sam Oct 14, 2006 13:51 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
| si si mais jpcache.php appel un autre fichier de config qui lui n'est pas à l'emplacement attendu : evidement ca n'est pas forcement aussi simple qu'expliqué dans le readme mais c'est tout de même très pratique comme outil je trouve. |
|
| |
|
 |
guicara WRInaute accro

Inscrit le: 02 Fév 2006 Messages: 2118 Localisation: Dans nos montagnes...
|
|
| |
|
 |
thierry8 WRInaute accro

Inscrit le: 11 Juil 2005 Messages: 3252
|
Posté le : Sam Oct 14, 2006 14:47 Sujet du message: Solution de cache PHP --> jpcache v2 |
|
|
| y a pas une notice ? |
|
| |
|
 |
| |
|
|