cocoges Posted July 16, 2012 Share Posted July 16, 2012 (edited) Bonjour, J'ai un site prestashop qui fonctionne depuis quelques années maintenant. J'ai reçu le message ci-dessous de mon hébergeur. A vrai dire je reste perplexe et j'ai besoin de vos lumières ;-) Comme l'explique le message précédent que vous avez reçu, nous avons déplacé votre site sur un serveur spécifique où vous êtes seul à bénéficier des ressources matérielles. Ce transfert est potentiellement encore en cours selon la taille de votre site et le volume des bases de données. Nous avons été contraints de procéder ainsi en urgence car votre site saturait le serveur mutualisé qui l'hébergeait précédemment, et les autres clients qui le partageaient avec vous subissaient de forts ralentissements. C'est une procédure qui n'est déclenchée qu'à titre exceptionnel et qui permet d'éviter de suspendre totalement l'accès à votre site, vous laissant ainsi le temps nécessaire pour trouver une alternative. Il faut maintenant que vous trouviez le plus rapidement possible une solution pour alléger votre site voici ce qui est indiqué : ADDENDUM : Vous pourrez retrouver la liste des requetes reportées dans le slow log mysql dans le répertoire logs/slowlog* de votre hébergement. En voici un très bref extrait: # Time: 120712 23:35:29 # User@Host: *** @ *** # Query_time: 14 Lock_time: 0 Rows_sent: 0 Rows_examined: 193 SELECT DISTINCT p.`id_product` FROM `product` p LEFT JOIN `tax` t ON p.`id_tax` = t.`id_tax` LEFT JOIN `category_product` cp ON (p.`id_product` = cp.`id_product`) LEFT JOIN `feature_product` fvpcaract_11 ON (p.`id_product` = fvpcaract_11.`id_product`) LEFT JOIN `feature_product` fvpcaract_18 ON (p.`id_product` = fvpcaract_18.`id_product`) LEFT JOIN `feature_value_lang` fvpcaract_18_val ON (fvpcaract_18.`id_feature_value` = fvpcaract_18_val.`id_feature_value`) LEFT JOIN `feature_product` fvpcaract_14 ON (p.`id_product` = fvpcaract_14.`id_product`) LEFT JOIN `feature_product` fvpcaract_25 ON (p.`id_product` = fvpcaract_25.`id_product`) LEFT JOIN `feature_product` fvpcaract_13 ON (p.`id_product` = fvpcaract_13.`id_product`) LEFT JOIN `feature_product` fvpcaract_17 ON (p.`id_product` = fvpcaract_17.`id_product`) LEFT JOIN `feature_value_lang` fvpcaract_17_val ON (fvpcaract_17.`id_feature_value` = fvpcaract_17_val.`id_feature_value`) LEFT JOIN `feature_product` fvpcaract_23 ON (p.`id_product` = fvpcaract_23.`id_product`) LEFT JOIN `feature_value_lang` fvpcaract_23_val ON (fvpcaract_23.`id_feature_value` = fvpcaract_23_val.`id_feature_value`) WHERE p.`active` = 1 AND fvpcaract_11.`id_feature_value` = 146 AND fvpcaract_18_val.`id_lang` = 2 AND fvpcaract_18_val.`value` LIKE "Aude Henneville%" AND fvpcaract_14.`id_feature_value` = 68 AND fvpcaract_25.`id_feature_value` = 192 AND fvpcaract_13.`id_feature_value` = 62 AND fvpcaract_17_val.`id_lang` = 2 AND fvpcaract_17_val.`value` LIKE "Luc Tallieu%" AND fvpcaract_23_val.`id_lang` = 2 AND fvpcaract_23_val.`value` LIKE "Kris GRYM%"; # Time: 120712 23:35:29 # User@Host: *** @ *** # Query_time: 13 Lock_time: 0 Rows_sent: 0 Rows_examined: 81 SELECT DISTINCT p.`id_product` FROM `product` p LEFT JOIN `tax` t ON p.`id_tax` = t.`id_tax` LEFT JOIN `category_product` cp ON (p.`id_product` = cp.`id_product`) LEFT JOIN `feature_product` fvpcaract_11 ON (p.`id_product` = fvpcaract_11.`id_product`) LEFT JOIN `feature_product` fvpcaract_18 ON (p.`id_product` = fvpcaract_18.`id_product`) LEFT JOIN `feature_value_lang` fvpcaract_18_val ON (fvpcaract_18.`id_feature_value` = fvpcaract_18_val.`id_feature_value`) LEFT JOIN `feature_product` fvpcaract_14 ON (p.`id_product` = fvpcaract_14.`id_product`) LEFT JOIN `feature_product` fvpcaract_17 ON (p.`id_product` = fvpcaract_17.`id_product`) LEFT JOIN `feature_value_lang` fvpcaract_17_val ON (fvpcaract_17.`id_feature_value` = fvpcaract_17_val.`id_feature_value`) LEFT JOIN `feature_product` fvpcaract_25 ON (p.`id_product` = fvpcaract_25.`id_product`) LEFT JOIN `feature_product` fvpcaract_9 ON (p.`id_product` = fvpcaract_9.`id_product`) LEFT JOIN `feature_product` fvpcaract_23 ON (p.`id_product` = fvpcaract_23.`id_product`) WHERE p.`active` = 1 AND fvpcaract_11.`id_feature_value` = 146 AND fvpcaract_18_val.`id_lang` = 2 AND fvpcaract_18_val.`value` LIKE "Aude Henneville%" AND fvpcaract_14.`id_feature_value` = 68 AND fvpcaract_17_val.`id_lang` = 2 AND fvpcaract_17_val.`value` LIKE "Luc Tallieu%" AND fvpcaract_25.`id_feature_value` = 192 AND fvpcaract_9.`id_feature_value` = 1095 AND fvpcaract_23.`id_feature_value` = 1228; Le site cumule aujourd'hui 2584 requetes lentes reportées par mysql, pour un total de 37545 secondes de traitement, soit plus de 10 heures. Voila... de quoi faire palir quelques cheveux ! Par où commencer ? lol Merci à vous. J'ai oublié : prestashop Version 1.2.5.0 Edited October 13, 2012 by cocoges (see edit history) Link to comment Share on other sites More sharing options...
fourquet Posted July 16, 2012 Share Posted July 16, 2012 Change de version car la requete n'a pas l"air tres optimisé ! Link to comment Share on other sites More sharing options...
cocoges Posted July 16, 2012 Author Share Posted July 16, 2012 Lol oui c'est bien ce qui me tracasse car j'ai tellement changé le code que je suis obligé de tout refaire et le thème serait également à refaire. C'est pour cette raison que j'étais encore sur l'ancienne version. J'ai également acheté un module qui ne fonctionne que sur cette version... Merci de vos réponses. Link to comment Share on other sites More sharing options...
coeos.pro Posted July 16, 2012 Share Posted July 16, 2012 tu as beaucoup de produits et catégories ? Link to comment Share on other sites More sharing options...
cocoges Posted July 16, 2012 Author Share Posted July 16, 2012 (edited) Bonjour Coeos, J'ai environ 380 produits à ce jour par contre j'utilise beaucoup les caractéristiques (16 caractéristiques par produits) et autant de valeurs par caractéristiques. Je l'utilise pour filtrer mes produits (module avancé de recherche). Je n'ai que 2 groupes d'attributs pour moin d'une 10ène de valeurs par produit. J'ai 152.000 visites par an. et un peu moins d'une 100ène de catégories/sous-catégories. Merci de vos réponses. Edited July 16, 2012 by cocoges (see edit history) Link to comment Share on other sites More sharing options...
cocoges Posted July 16, 2012 Author Share Posted July 16, 2012 Peut-être que si je faisais une restriction de consultation de la boutique qu'aux visiteurs inscrit cela réduirait le nombre de requête puisqu'aujourd'hui n'importe qui peut effectuer une requête ? Link to comment Share on other sites More sharing options...
cocoges Posted July 16, 2012 Author Share Posted July 16, 2012 Pas plus d'idées que ça ? :-) Link to comment Share on other sites More sharing options...
coeos.pro Posted July 16, 2012 Share Posted July 16, 2012 le fait d'avoir environ 6000 déclinaisons, plusieurs centaines de visites par jours, une version ancienne de prestashop, et le tout en même temps... il n'y a pas une cause mais un ensemble de cause qui provoque ton problème Link to comment Share on other sites More sharing options...
cocoges Posted July 17, 2012 Author Share Posted July 17, 2012 Ca c'est sure :-) mais attention se ne sont pas des déclinaisons mais des caractéristiques. Car au départ ces caractéristiques devait être des déclinaisons. Mais pour des raisons de fonctionnement SQL, j'ai du oublier l'idée de déclinaisons... ca ramait trop. C'est probablement du aussi au googlebot qui génère trop de paniers aussi... J'ai présenté ce problème lors d'une conférence prestashop récemment mais le problème ne semblait pas être connu du staff prestashop ! A court terme, je ne vois que la restriction d'accès au contenu de la boutique pour pallier à cela (private boutique) car je ne suis pas un bon développeur pour optimiser la base de données sauf si je trouve de l'aide ! lol Link to comment Share on other sites More sharing options...
fourquet Posted July 17, 2012 Share Posted July 17, 2012 Sinon la solution est de mettre des index sur tes tables de caractéristiques. Link to comment Share on other sites More sharing options...
coeos.pro Posted July 17, 2012 Share Posted July 17, 2012 si tu as vraiment trop de panier générés par googlebot j'ai un module qui permet d'éviter ce désagrément (voir ma signature), ça limitera l'augmentation de la base de données de manière inutile par contre pour le temps d’exécution des recherches l'incidence sera nulle. Link to comment Share on other sites More sharing options...
cocoges Posted July 17, 2012 Author Share Posted July 17, 2012 Bonjour Fourquet, Sinon la solution est de mettre des index sur tes tables de caractéristiques. Tu m'intéresses mais peux-tu m'en dire plus ? Coeos, j'ai consulté ton module après l'avoir découvert sur un autre post dans ma recherche sur ce problème. Est-ce que ce module fonctionnerait sur une version aussi ancienne ? Merci à vous ! Link to comment Share on other sites More sharing options...
coeos.pro Posted July 17, 2012 Share Posted July 17, 2012 j'avais oublié que tu étais en 1.2.5, ce module utilise l'override, donc tel quel non, il faudrait faire de petite modif sur le module (rien de très important) et une sur ta boutique (pour pallier l'override) Link to comment Share on other sites More sharing options...
cocoges Posted July 23, 2012 Author Share Posted July 23, 2012 Fourquet, pas plus de précisions pour les index ? Sinon la solution est de mettre des index sur tes tables de caractéristiques. D'avance merci ! Link to comment Share on other sites More sharing options...
cocoges Posted July 24, 2012 Author Share Posted July 24, 2012 Il n'y a pas un pro de chez prestashop ? Mon hébergeur me dit qu'un petit correctif suffirait à stopper le phénomène mais bon je ne suis pas assez bon pour cela. Toujours personne pour m'aider ? lol Merci d'avance ! Link to comment Share on other sites More sharing options...
Fabrice Posted July 24, 2012 Share Posted July 24, 2012 je vois 2 solutions : - passer sur un dédié - lancer un appel d'offre dans le forum adéquat. Ou alors, comme dit précédemment, changer de version PS... PS : je ne fais pas partie de l'équipe PS, comme ton MP semblait le mentionner. ;-) Link to comment Share on other sites More sharing options...
cocoges Posted July 24, 2012 Author Share Posted July 24, 2012 Merci pour la réponse. Effectivement le dédié mais j'ai une 10ène de sites mais l'avantage du mutualisé c'est quand cas de panne, je n'ai qu'un site en panne alors que sur le dédié en cas de panne ce sont tous les sites qui tombent. Le site en question est en cours de mise à jour sur la dernière version PS mais comme j'ai touché au code au départ, je ne peux pas faire de MAJ en l'état aujourd'hui. L'idée serait donc de faire un correctif de façon à lever ce problème le temps que la nouvelle version se mette en place. Merci pour la réponse ! Link to comment Share on other sites More sharing options...
cocoges Posted October 13, 2012 Author Share Posted October 13, 2012 Bonjour à tous, Bon finalement n'ayant pas trouvé de solutions fiables à ma portée ;-) j'ai décidé de changer de version de PS. Merci pour vos topics. Cordialement Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now