sandrinoo Posté 26 Octobre 2012 Posté 26 Octobre 2012 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.
captain_torche Posté 26 Octobre 2012 Posté 26 Octobre 2012 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 ?
sandrinoo Posté 26 Octobre 2012 Auteur Posté 26 Octobre 2012 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 ?
captain_torche Posté 26 Octobre 2012 Posté 26 Octobre 2012 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.
sandrinoo Posté 26 Octobre 2012 Auteur Posté 26 Octobre 2012 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...
Ernestine Posté 26 Octobre 2012 Posté 26 Octobre 2012 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.
yuston Posté 26 Octobre 2012 Posté 26 Octobre 2012 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.
Dadou Posté 26 Octobre 2012 Posté 26 Octobre 2012 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
sandrinoo Posté 29 Octobre 2012 Auteur Posté 29 Octobre 2012 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.
adn Posté 31 Octobre 2012 Posté 31 Octobre 2012 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant