Aller au contenu

Mettre une page en cache


Sujets conseillés

Posté

Bonjour

Voila j'ai un petit problème, mon site consomme beaucoup de ressource mysql et on m'a dit de mettre une partie de mes pages en cache pour réduire cette conso. Donc je voudrais savoir comment on fait et si on peut le faire sur n'importe quelle page(désolé pour cette question simple pour certain, mais je suis nul)

D'avance merci

Posté

Salut,

1) La mise en cache des pages php est effectuée par ton serveur php. Les règlages sont spécifiques au produit que tu utilises.

2) Sinon, si ton site consomme beaucoup de ressources mysql, il serait souhaitable que tu optimises tes requètes et ta base. Sais-tu le faire ?

3) Modo, please : le déplacement vers Php/Mysql me semble approprié

Posté

Salut

Merci de ta réponse. C'est compliqué d'optimiser les requètes et la base ? Ou puis je trouver un tutoriel ou des renseignements.

D'avance merci

Posté

a) Quels connaissances as-tu en base de données ? Sais-tu structurer une base de données relationnelles ?

B) As-tu beaucoup de requêtes ? Impliquent-elles beaucoup de tables, de données ?

Posté

Les conseils de Marvin Le Rouge sont avisés : face à un problème de ressources Mysql, il faut commencer par op-ti-mi-ser, avant de songer à des solutions de type cache, qui soignent les symptômes, mais pas les causes du mal.

Je sais par expérience qu'une requête mal fichue ou un serveur mysql mal configuré peut mettre un serveur à genoux, quelle que soit la puissance du serveur et les "trucs" employés pour faire en sorte que la requête ne soit appelée qu'une fois par heure au lieu d'une fois par seconde...

Sur la config serveur : dès que l'on arrive aux "limites" d'une configuration donnée, des changements dans la config Apache/Mysql peuvent avoir des conséquences spectaculaires.

Sur l'optimisation des requêtes, c'est facile avec un peu d'expérience dans le domaine. L'instruction "EXPLAIN" aide beaucoup également à détecter des index manquants, ou la nature du problème...

Les règles à suivre sont simples :

- avoir une structure de tables cohérente

- indexer les champs sur lesquels on fait des recherches fréquentes

- faire attention aux "jointures" sur plusieurs tables qui génèrent si l'on n'y prend pas garde des fichiers temporaires de taille gigantesques (dès que je vois un select * from table1,table2,table3 quelque part, j'ai un panneau "danger" qui s'allume dans ma tête)

- et surtout n'appeler que les données dont on a réellement besoin (pourquoi faire un select * from table, quand on a en fait besoin de select champ1 from table where ...)

Posté

Conseil : fais un joli schéma de ta bdd, mets le en ligne et donne nous l'adresse déjà.

Puis fais une liste de toutes tes requètes, en écrivant à côté leur sens en français (ex. : "récupérer tous les noms des produits dans la catégore truc classés par prix"), et mets ça sur le thread.

NB : Attention : pas 15 km de texte non plus ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...