8796 sujets

Développement web côté serveur, CMS

Salut à tous Smiley biggrin

Je travaille généralement avec un système de cache, les fichiers sont générés, puis stocké dans un dossier cache/ ,

Sur une page plutôt grande le cache peut attendre jusqu'a 30000 fichiers...

Je note quelque fois des différences asser importante entre le temps de génération des pages en cache (c'est pas dramatique l'utilisation du cache reste largement positive) mais je me demande si cela n'est pas dût à l'excès du nombre de fichier dans le dossier cache?
Modérateur
Bonjour matmat,

Je ne suis pas du tout expert dedans.... Ton soucis peut provenir de pas mal d'endroit. Est ce que par hasard certains fichiers sont des images et que tu les manipules (size) ? 3000 fichiers, c'est pas mal tout de même. Peut être faut il optimiser ton code ? Est ce que ces 3000 fichiers sont volumineux ? Quel est le poids total ? Est ce que ces fichier tu les ouvres et que peut être tu as oublié la fermeture ? Est ce ton application est en procédurale ou poo ? Si c'est de la poo, est ce que tu gères bien les piles, les files (garbage) et la mort de l'objet ?

Ce qui pourrait être intéressant à faire et de placer une fonction de temps au début de ton script et à la fin afin d'évaluer le temps d'exécution. Je pense notamment à time() et microtime().

Espérant t'avoir des petites pistes,
Bonne journée à toi.
Modifié par Nolem (30 Oct 2009 - 13:21)
Salut Nolem,

J'utilise effectivement microtime() pour mesurer le temps d'exécution de la page, les résultats sont plutôt pas mal, entre 25 et 100 ms pour la plupart des pages ( la page en question : http://www.alianzafrancesa.org.mx, j'ai aussi de problème de bande passante mais ça c'est autre chose... )

Le site a différents type de contenu et permet la création de micro site a l'intérieur du site, ce qui au total fait pas mal de pages, une partie de l'intranet a également un cache car il fait de gros calculs.

Mon problème de cache est multiple, il y a tout d'abord le problème de nombre de fichier qui rend les appels au cache plus lent.
Mais aussi, quand les administrateurs actualise une page, le système essaye d'effacer les fichiers concernés par la modification en cherchant dans le nom des fichier cache. Quand il y a beaucoup de fichiers cela rend l'opération plus lourde.

Pour l'instant ce que j'ai fait c'est que je divise le fichier cache en dossier (environs 100 dossiers X 300 fichiers = 30000) , je crois que c'est une bonne solution parce que les effacement de fichiers sont plus performants, le programme cherche d'abord dans les noms de dossiers puis efface les fichiers concernés à l'intérieur de celui ci. Les appels au fichier cache sont également plus performants car le nombre de fichiers dans les dossiers n'excède pas 500.