Aller au contenu
sandrinoo

Gestion de cache automatisée ?

Noter ce sujet :

Recommended Posts

Bonjour à toutes et à tous,

Voilà, je suis bien embétée actuellement : mes pages sont assez lourdes (nombreuses requêtes php, bdd mysql avec de nombreux champs) et mon site a souvent des lenteurs, voir carrément page qui s'affiche pas > je sais c'est moche :(

Et comme j'ai pas les moyens de m'offrir un dédié, j'ai donc fait un systeme de cache php qui fonctionne toutes les 24 h.

Mais le premier internaute qui clique sur une page va subir les frais de lenteur pour les autres...

J'aurais donc aimé savoir si quelqu'un savait comment remplir le cache automatiquement sans qu'il n'y ait d'internaute réel qui clique sur les pages.

J'avais pensé à des crons multiples mais c'est pas terrible comme solution. Surtout que j'ai plusieurs centaines de pages.

Si vous avez une solution fiable, je suis preneuse...

Un grand merci d'avance à celui ou celle qui me proposera une soluce...

sandy.

Partager ce message


Lien à poster
Partager sur d’autres sites

Personnellement, c'est ce que je fais aussi : le premier visiteur recalcule la page. Mais effectivement, tout dépend du temps de calcul d'une page. De quel ordre de grandeur parles-tu ? Plusieurs secondes ? Plusieurs dizaines de secondes ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci de me répondre Captain,

entre 0.7s et 5s >> tout dépend des heures...

Mais quelquefois (très rarement) cela mouline dans le vide plus longtemps sans jamais accéder.

Y-a-t-il une possibilité, Captain_torche de faire visiter le site entièrement en automatique pour remplir le cache ou pas ?

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est pas dramatique non plus, si c'est limité à un visiteur par jour. Combien as-tu de visiteurs ?

Il faudrait juste comprendre pourquoi parfois ça n'aboutit pas.

Quant à le faire automatiquement c'est possible en effet, avec une tâche cron. Sachant que si tu as 300 pages et qu'elles mettent 5 secondes à charger, il mettra près d'une demi-heure à tourner.

Partager ce message


Lien à poster
Partager sur d’autres sites

En gros j'ai 1000 pages et environ 1000 visiteurs jours.

Il n'y aurait pas de solutions autres, genre script en curl, script bash... ?

(je dis ça, mais je ne m'y connais pas du tout dans ces languages...)

Par ailleurs, Captain, comment éviter de mettre en cache des pages qui aboutissent à sur des messages d'erreur, des 404...

Partager ce message


Lien à poster
Partager sur d’autres sites

L'idéal serait de ne recalculer le cache d'une page que si celle-ci a été modifiée. Si une page change de contenu tous les trois mois, pas la peine de recalculer tous les jours. Inversement, si elle change tous les cinq minutes, il faut recalculer plus souvent.

Sinon, une tache cron qui exécurait un script faisant des file_get_contents() sur chaque url, ça répondrait à ce que tu cherches pour le recalcul automatique. Reste à savoir si c'est vraiment une bonne idée.

Partager ce message


Lien à poster
Partager sur d’autres sites

Peut-être y a-t-il la possibilité d'optimiser ne serait-ce qu'un peu tous les éléments qui provoquent ces ralentissements : les requêtes SQL (jointures, sous-requêtes, etc.), réduire quelques opérations PHP ou utiliser de meilleures fonctions, etc.

Après effectivement, le cache est une bonne solution surtout s'il est recalculé quand c'est nécessaire.

Partager ce message


Lien à poster
Partager sur d’autres sites

1000 visiteurs / jour et ça rame, c'est franchement pas normal, même sur du mutualisé.

Avant de penser à la solution du cache, il serait bon d'aller optimiser le code du site et surtout les requêtes MySQL ainsi que leur nombre

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Ernestine, dadou et yuston.

J'ai fait ce week-end plusieurs tests cron sur une centaines de pages qui se sont révélés catastrophiques : une multitude de pages mises en cache étaient des pages non affichées, erreurs php... etc

Faire comme cela, ca ne me semble pas la bonne solution, mais plutôt du rafistolage...

J'ai pris la décision de :

1/ revoir tout mon code php ):

2/ et de changer d'hébergeur > plus cher ):

Merci à tous les membres qui se sont penchés sur mon problème...

Sandy.

Partager ce message


Lien à poster
Partager sur d’autres sites

Perso, je chercherai à optimiser le temps d'affichage des pages car 5s c'est énorme je trouve ! Soit l'algo n'est pas optimisé (pb d'index ou autre) soit l'hébergeur est mauvais

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×