Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

gestion du cache côté serveur pour include()

Aller à la page 1, 2  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> Administration d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Fab le Fou
WRInaute accro
WRInaute accro

Inscrit le: 02 Déc 2004
Messages: 1488
Localisation: Lorient

URL permanente de ce messagePosté le : Mer Juin 28, 2006 15:41    Sujet du message: gestion du cache côté serveur pour include()

Salut,

Petite question un peu technique.

Je suis amené à charger certains fichiers via include() dans plusieurs pages / scripts.

Je souhaite savoir comment cela est géré par le serveur.

Est-ce que comme du côté client, par exemple pour une image, il y a un système de cache qui fait que le fichier ne sera vraiment chargé qu'une fois, où est-ce qu'il sera rechargé à chaque appel des scripts concernés ?

@+, Fab
 
Fab le Fou Visiter le site web du posteur
e-kiwi
Modérateur
Modérateur

Inscrit le: 23 Déc 2003
Messages: 12363
Localisation: Toulouse

URL permanente de ce messagePosté le : Mer Juin 28, 2006 15:50    Sujet du message: gestion du cache côté serveur pour include()

tu cherche à savoir si cela va te prendre des ressources tes includes ? Smile
 
e-kiwi Visiter le site web du posteur
Bacteries
WRInaute accro
WRInaute accro

Inscrit le: 27 Mai 2004
Messages: 1048
Localisation: France - Nantes

URL permanente de ce messagePosté le : Mer Juin 28, 2006 16:13    Sujet du message: gestion du cache côté serveur pour include()

Fab>
Tu veux faire plusieurs fois le même include dans un même script c'est ça?
 
Bacteries Visiter le site web du posteur
Fab le Fou
WRInaute accro
WRInaute accro

Inscrit le: 02 Déc 2004
Messages: 1488
Localisation: Lorient

URL permanente de ce messagePosté le : Mer Juin 28, 2006 17:04    Sujet du message: gestion du cache côté serveur pour include()

Non en fait il s'agit du même fichier (appelons-le "toto.php") dans lequel je stocke des données et que j'appelle à partir de plusieurs pages différentes du même site pour accéder aux fameuses données de mon fichier "toto.php".

Ce que je souhaite savoir c'est si à partir du moment où le fichier n'a pas changé il y a aura un système de mise en cache du côté serveur qui permettra un chargement plus rapide de la page, le fichier en question pouvant contenir pas mal de données.

Un peu comme une feuille de style qu'on ne charge qu'une fois.
 
Fab le Fou Visiter le site web du posteur
Morph1er
WRInaute impliqué
WRInaute impliqué

Inscrit le: 07 Juil 2004
Messages: 307

URL permanente de ce messagePosté le : Mer Juin 28, 2006 17:42    Sujet du message: gestion du cache côté serveur pour include()

Salut,

Pour effectuer une mise en cache des fichiers, il y a des systèmes tel que Eaccelerator(il y'en a d'autres..).

Il s'agit d'une extension de apache qui peut nécessiter une recompilation. Wink
 
Morph1er Visiter le site web du posteur
kazhar
WRInaute accro
WRInaute accro

Inscrit le: 09 Jan 2004
Messages: 6075
Localisation: Somewhere only I know

URL permanente de ce messagePosté le : Mer Juin 28, 2006 17:53    Sujet du message: gestion du cache côté serveur pour include()

EAccelerator ne mets pas les fichiers en cache. Il compile la source, ce qui permet de ne pas avoir à le faire à chaque chargement de la page.
Donc, on y gagne effectivement en temps sur des pages faisant des boucles se répétant beaucoup par exemple, mais pas sur des appels sql.
 
kazhar Visiter le site web du posteur
Morph1er
WRInaute impliqué
WRInaute impliqué

Inscrit le: 07 Juil 2004
Messages: 307

URL permanente de ce messagePosté le : Mer Juin 28, 2006 23:53    Sujet du message: gestion du cache côté serveur pour include()

Non, il mets en cache les scripts Wink.

Moi quand je regarde les fichiers mis en cache par eAccelerator, il s'agit des fichiers.

C'est bien pour ça que c'est interessant car il mets en cache les fichiers include et config(entre autre). Si tu regardes les hits dessus, tu verras que c'est grâce à ça que l'on voit une différence de perf Wink.

http://www.ipersec.com/index.php?q=fr/node/2&page=0%2C0
 
Morph1er Visiter le site web du posteur
Fab le Fou
WRInaute accro
WRInaute accro

Inscrit le: 02 Déc 2004
Messages: 1488
Localisation: Lorient

URL permanente de ce messagePosté le : Jeu Juin 29, 2006 8:34    Sujet du message: gestion du cache côté serveur pour include()

Ce qui m'étonne c'est que le système d'exploitation ne fasse pas cette mise en cache par défaut.

Un "footer.php" que tu appelles sur toutes tes page, même si il n'est pas gros, c'est un peu dommage de faire comme si il s'agisssait d'un nouveau fichier qui était appellé à chaque fois.
 
Fab le Fou Visiter le site web du posteur
easy_zik
WRInaute impliqué
WRInaute impliqué

Inscrit le: 07 Juil 2003
Messages: 388

URL permanente de ce messagePosté le : Jeu Juin 29, 2006 10:14    Sujet du message: gestion du cache côté serveur pour include()

Fab le Fou a écrit:
Ce qui m'étonne c'est que le système d'exploitation ne fasse pas cette mise en cache par défaut.

Un "footer.php" que tu appelles sur toutes tes pages, même si il n'est pas gros, c'est un peu dommage de faire comme si il s'agisssait d'un nouveau fichier qui était appellé à chaque fois.

Pour moi cette optimistation existe sur tous les PC. Et c'est le disque dur qui l'effectue.
Car tout DD a sa mémoire cache, et elle sert normalement bien à ça...
 
easy_zik Visiter le site web du posteur
maddanny
WRInaute impliqué
WRInaute impliqué

Inscrit le: 23 Mar 2005
Messages: 279

URL permanente de ce messagePosté le : Jeu Juin 29, 2006 10:36    Sujet du message: gestion du cache côté serveur pour include()

easyzik a écrit:
Fab le Fou a écrit:
Ce qui m'étonne c'est que le système d'exploitation ne fasse pas cette mise en cache par défaut.

Un "footer.php" que tu appelles sur toutes tes pages, même si il n'est pas gros, c'est un peu dommage de faire comme si il s'agisssait d'un nouveau fichier qui était appellé à chaque fois.

Pour moi cette optimistation existe sur tous les PC. Et c'est le disque dur qui l'effectue.
Car tout DD a sa mémoire cache, et elle sert normalement bien à ça...


Sauf que le disque dur d'un serveur ne fait pas que ça ... Et même 16Mo de cache sont bien vite saturés, d'autant qu'ils sont repartis entre l'écriture et la lecture anticipée.

Pour avoir une idée de ce qu'est ouvert comme fichiers sur un serveur linux, fais un lsof tu comprendras Wink

Pour ce que cherche Fab le Fou, il n'y a qu'un accelerateur PHP (tel que EAccelerator) ou generer ses php une fois les modifs effectuées Smile

MADdanny
 
maddanny
easy_zik
WRInaute impliqué
WRInaute impliqué

Inscrit le: 07 Juil 2003
Messages: 388

URL permanente de ce messagePosté le : Jeu Juin 29, 2006 12:42    Sujet du message: gestion du cache côté serveur pour include()

maddanny a écrit:
Sauf que le disque dur d'un serveur ne fait pas que ça ... Et même 16Mo de cache sont bien vite saturés, d'autant qu'ils sont repartis entre l'écriture et la lecture anticipée.

Pour avoir une idée de ce qu'est ouvert comme fichiers sur un serveur linux, fais un lsof tu comprendras Wink
Whaaa impresionnant ! Smile
Merci pour l'info je viens d'apprendre une nouvelle commande Smile

maddanny a écrit:
Pour ce que cherche Fab le Fou, il n'y a qu'un accelerateur PHP (tel que EAccelerator) ou generer ses php une fois les modifs effectuées Smile
Ou alors carément ecrire un petit script qui monte une partie de la memoire vive comme disque virtuel, et copie les principaux fichiers de son site dessus (librairies, etc...)
Les répertoires moins utilisés peuvent être montés sur cette arborescence au moyen de liens symboliques...
Ca implique évidement que les fichiers placé sur le disque virtuel ne doivent pas être modifiés par un éventuel code php, car en cas de plantage, tout est perdu...
 
easy_zik Visiter le site web du posteur
Bacteries
WRInaute accro
WRInaute accro

Inscrit le: 27 Mai 2004
Messages: 1048
Localisation: France - Nantes

URL permanente de ce messagePosté le : Jeu Juin 29, 2006 14:08    Sujet du message: gestion du cache côté serveur pour include()

Sinon Fab tu peux voir vraiment ce que ça te prend en temps en faisant du "profiling" (en gros voir le temps mis par chaque instruction de ton code).

Y'a un tuto là : http://developpeur.journaldunet.com/tutoriel/php/060608-php-profiling-xdebug.sht...
 
Bacteries Visiter le site web du posteur
Morph1er
WRInaute impliqué
WRInaute impliqué

Inscrit le: 07 Juil 2004
Messages: 307

URL permanente de ce messagePosté le : Jeu Juin 29, 2006 14:16    Sujet du message: gestion du cache côté serveur pour include()

EAccelerator(ou autres) mets déjà en mémoire ram les scripts. Pourquoi le refaire Wink.

Pour la bdd, si tu as mysql tu peux mettre des tables en ram grâce au moteur innodb (Attention au coupure de courant/reboot Wink ). Mysql intègre aussi un système de cache depuis la version 4.

Tu peux aussi en parrallèle développer ton moteur de cache ou en prendre un déjà préfait qui créera les pages générés (en .html par exemple). Il suffit après de ne plus faire appel au script php pour générer la page mais directement la page html. Tu passes ainsi moins de temps dans php Wink.

Evidemment tout ces solutions sont excellentes mais il faut faire attention la ram.
Le système peut avoir recours à pas mal de ram et si c'est mal dosé, les outils qui mettent en cache peuvent causé l'effet inverse.
 
Morph1er Visiter le site web du posteur
Fab le Fou
WRInaute accro
WRInaute accro

Inscrit le: 02 Déc 2004
Messages: 1488
Localisation: Lorient

URL permanente de ce messagePosté le : Jeu Juin 29, 2006 16:12    Sujet du message: gestion du cache côté serveur pour include()

Le problème c'est que pour la majorité de ces solutions, il faut être en dédié, donc un mutu je ne peux pas faire grand chose.

Je vais voir le lien proposé par Bacteries.

Mon but est justement de réussir à déterminé à partir de quelle taille du fichier cache appellé via l'include(), cela ne devient plus intéressant en terme de conso des ressources par rapport à une requête sql.
 
Fab le Fou Visiter le site web du posteur
gomoz
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 29 Déc 2004
Messages: 230
Localisation: vannes

URL permanente de ce messagePosté le : Jeu Juin 29, 2006 19:02    Sujet du message: gestion du cache côté serveur pour include()

C'est une fausse question. L'include est toujours nettement plus interessant (en terme de conso de ressources et encore plus en terme de vitesse) mais moins maniable.

Ensuite si tu tiens réellement à mettre en cache, tu peux le faire manuellement aussi (mais si tu as juste un copyright dans ton footer, je doute que tu es un traitement php qui justifie la mise en cache).
 
gomoz
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Administration d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 2 - Aller à la page 1, 2  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort