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

Discussion dans 'Administration d'un site Web' créé par Fab le Fou, 28 Juin 2006.

  1. Fab le Fou
    Fab le Fou WRInaute passionné
    Inscrit:
    2 Décembre 2004
    Messages:
    1 109
    J'aime reçus:
    0
    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
     
  2. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    tu cherche à savoir si cela va te prendre des ressources tes includes ? :)
     
  3. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Fab>
    Tu veux faire plusieurs fois le même include dans un même script c'est ça?
     
  4. Fab le Fou
    Fab le Fou WRInaute passionné
    Inscrit:
    2 Décembre 2004
    Messages:
    1 109
    J'aime reçus:
    0
    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.
     
  5. Morph1er
    Morph1er WRInaute occasionnel
    Inscrit:
    7 Juillet 2004
    Messages:
    280
    J'aime reçus:
    0
    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. ;)
     
  6. dmathieu
    dmathieu WRInaute accro
    Inscrit:
    9 Janvier 2004
    Messages:
    5 596
    J'aime reçus:
    0
    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.
     
  7. Morph1er
    Morph1er WRInaute occasionnel
    Inscrit:
    7 Juillet 2004
    Messages:
    280
    J'aime reçus:
    0
    Non, il mets en cache les scripts ;).

    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 ;).

    http://www.ipersec.com/index.php?q=fr/node/2&page=0%2C0
     
  8. Fab le Fou
    Fab le Fou WRInaute passionné
    Inscrit:
    2 Décembre 2004
    Messages:
    1 109
    J'aime reçus:
    0
    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.
     
  9. easy_zik
    easy_zik WRInaute occasionnel
    Inscrit:
    7 Juillet 2003
    Messages:
    375
    J'aime reçus:
    0
    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...
     
  10. maddanny
    maddanny WRInaute discret
    Inscrit:
    22 Mars 2005
    Messages:
    248
    J'aime reçus:
    0
    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 ;)

    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 :)

    MADdanny
     
  11. easy_zik
    easy_zik WRInaute occasionnel
    Inscrit:
    7 Juillet 2003
    Messages:
    375
    J'aime reçus:
    0
    Whaaa impresionnant ! :)
    Merci pour l'info je viens d'apprendre une nouvelle commande :)

    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...
     
  12. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
  13. Morph1er
    Morph1er WRInaute occasionnel
    Inscrit:
    7 Juillet 2004
    Messages:
    280
    J'aime reçus:
    0
    EAccelerator(ou autres) mets déjà en mémoire ram les scripts. Pourquoi le refaire ;).

    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 ;) ). 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 ;).

    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.
     
  14. Fab le Fou
    Fab le Fou WRInaute passionné
    Inscrit:
    2 Décembre 2004
    Messages:
    1 109
    J'aime reçus:
    0
    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.
     
  15. gomoz
    gomoz WRInaute discret
    Inscrit:
    29 Décembre 2004
    Messages:
    224
    J'aime reçus:
    0
    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).
     
  16. Fab le Fou
    Fab le Fou WRInaute passionné
    Inscrit:
    2 Décembre 2004
    Messages:
    1 109
    J'aime reçus:
    0
    Non ce sont des traitements plus complexes qui reviendrait à faire plusieurs requêtes sur plusieurs pages.

    C'est pour des raisons de flexibilité que je ne me contente pas de créer une version cache de la page html dans son intégrabilité, mais que je génère tout un ensemble de fichiers contenant les données qui m'intéressent que je récupère via des include().
     
  17. gomoz
    gomoz WRInaute discret
    Inscrit:
    29 Décembre 2004
    Messages:
    224
    J'aime reçus:
    0
  18. Albert1
    Albert1 WRInaute impliqué
    Inscrit:
    23 Août 2005
    Messages:
    771
    J'aime reçus:
    0
    utilise Cache_Lite alors, cette librairie (facile à utiliser) permet de faire du cache de "blocks" ...
     
  19. Fab le Fou
    Fab le Fou WRInaute passionné
    Inscrit:
    2 Décembre 2004
    Messages:
    1 109
    J'aime reçus:
    0
    Ok merci mais mon problème initial n'était pas de créer le cache (ça je le fais déjà au moment des mises à jour), je me posais juste la question du problème que pouvait poser des fichiers en cache trop lourds.

    Mais à priori, sur un mutualisé je ne peux pas faire grand chose sauf espérer que mon hébergeur à installer ce qu'il faut sur les machines.
     
  20. gomoz
    gomoz WRInaute discret
    Inscrit:
    29 Décembre 2004
    Messages:
    224
    J'aime reçus:
    0
    Je pense pas que ca joue beaucoup (si tu inclus un fichier de 100Mo pour ton footer par contre là je dis pas mais...:lol:).
     
Chargement...
Similar Threads - gestion cache côté Forum Date
Memcached/PHP gestion de sessions Développement d'un site Web ou d'une appli mobile 22 Juillet 2020
gestion des méta cache Demandes d'avis et de conseils sur vos sites 18 Décembre 2009
Gestion cache d'images distantes Administration d'un site Web 10 Décembre 2009
Apache : gestion du cache Administration d'un site Web 10 Décembre 2009
gestion de cache réparti sur plusieurs répertoires pour limiter le nb de fichier Administration d'un site Web 21 Janvier 2009
Gestion cache Joomla : pb avec balises title, keywords et description Développement d'un site Web ou d'une appli mobile 17 Janvier 2009
[PHP] Gestion de vos fichers caches Développement d'un site Web ou d'une appli mobile 10 Décembre 2007
Logiciel de gestion des réseaux sociaux Autres réseaux sociaux 29 Mars 2022
Gestion des produits supprimés en e-commerce e-commerce 24 Février 2022
Gestion NDD avec délégation des aspects techniques Administration d'un site Web 7 Janvier 2022
Suggestions de mots clés sur un liste de 15 000 mots Rédaction web et référencement 7 Décembre 2021
Gestion sous domaines et domaines dans Analytics Google Analytics 10 Septembre 2021
Gestion Canonical et Hreflang sur une home page multilangue Référencement international (langues, pays) 11 Août 2021
Gestion de la profondeur par Google Référencement Google 7 Juillet 2021
Gestion contenu JSON-LD versus contenu HTML. Développement d'un site Web ou d'une appli mobile 24 Mai 2021
Avis analyses SEO et suggestions Demandes d'avis et de conseils sur vos sites 29 Avril 2021
Récapitulatif Gestion du consentement pour Google Analytics Google Analytics 30 Mars 2021
Gestionnaire de vente Facebook : le compte marchand Facebook 26 Mars 2021
Centraliser la gestion des liens d'affiliation et publicités Monétisation d'un site web 26 Janvier 2021
Gestion sitemap.xml sur un site multilingue Crawl et indexation Google, sitemaps 5 Octobre 2020