Pixtor Posted July 12, 2018 Share Posted July 12, 2018 (edited) Hello ! J'ai un gros soucis depuis maintenant 1 semaine : Le temps de chargement de mon site internet est passé de 2s à 2min depuis quelques jours. (pix-attack .com) Données site : Prestashop 1.6.0.5 Hebergement mutualisé OVH Base Mysql 5.5 (500mo utilisé) Environ 30 modules activés Optimisation du cache activés (pas SQL) Pour essayer de comprendre ce qu'il se passait, j'ai donc fait les opérations suivantes : Restauration du FTP à la date antérieure du problème Restauration de la BDD à la date antérieure du problème Appel hotline hebergeur => 130 000 appels par heure (Beaucoup pour un site modeste) Purification de certaines tables volumineuses de la bdd Activation du mode profiling & debug (encore activé) => Rien de bien concret Information intéréssante : Le front & le back mettent 2 min par page 1 page met près de 2 sec à charger contrairement aux autres (/catalogue.php) => Est-qu'il n'y aurait pas quelque chose au niveau des redirections avec les langues ? Avez-vous une idée, piste qui pourrait me permettre d'avancer ? Merci, Pixtor Edited July 13, 2018 by Pixtor (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 12, 2018 Share Posted July 12, 2018 1- Activer le debug SQL pour en savoir plus (temps de réponse bdd et nombre de rows renvoyés par requêtes) 2- désactiver temporairement les overrides pour voir si le problème serait lié 3- renommer temporairement le répertoire /modules pour voir si le problème est aussi présent sans modules chargés Vous n'avez aucune compression css ou js, c'est volontaire ? Link to comment Share on other sites More sharing options...
GuillaumeCW Posted July 12, 2018 Share Posted July 12, 2018 (edited) Vous avez une trace de notice PHP en attribut "value" de votre champ de recherche de produits. Mais c'est plutôt étrange qu'une valeur soit renseignée côté serveur pour cet attribut. EDIT : je n'avais pas vu le debug Prestashop en bas de page. Les temps de requêtes sont normaux, donc il y a probablement un fichier PHP exécutant une longue instruction et gênant le chargement. Suivez l'ordre d'inclusion des fichiers en ajoutant un bon gros die('stop') pour identifier où ça coince. Edited July 12, 2018 by GuillaumeCW (see edit history) Link to comment Share on other sites More sharing options...
Pixtor Posted July 12, 2018 Author Share Posted July 12, 2018 Merci pour les réponses ! Le mode débuggeur ne révèle aucune requete anormalement longue ou un nombre de requete trop élevé. Après avoir renommer le dossier modules, le temps de chargement est toujours aussi long Pour ce qui est des overrides, ce prestashop n'a pas été bien développé, les overrides ont été directement codé dans les .tpl La recherche à toujours fonctionné comme ça, j'avoue ne pas m'être attardé sur le sujet Je vais tenter de dégguer le php avec le die('stop') , n'ayant aucune idée de comment/ou le faire, la réponse risque de prendre un peu de temps lol Link to comment Share on other sites More sharing options...
Eolia Posted July 12, 2018 Share Posted July 12, 2018 Allez quand même jeter un oeil sur les error.log d'ovh, ça pourrait nous renseigner^^ Link to comment Share on other sites More sharing options...
Pixtor Posted July 12, 2018 Author Share Posted July 12, 2018 J'ai déja regardé les logs et il se trouve que je tombe sur des logs très précises : [host pix-attack.com] Script timed out before returning headers: index.php :D Link to comment Share on other sites More sharing options...
Pixtor Posted July 13, 2018 Author Share Posted July 13, 2018 (edited) index.php contient les éléments suivants : // BEGIN - EasyPHP DevServer module - update path in the db $db_host = XXXXXXXXXX; $db_username = 'XXXXXXX; $db_password = 'XXXXXX'; $domain = ($_SERVER['SERVER_PORT'] == 80) ? $_SERVER['SERVER_NAME'] : $_SERVER['SERVER_NAME']. ":" . $_SERVER['SERVER_PORT']; $mysqli = new mysqli($db_host, $db_username, $db_password); $path = explode('/', dirname($_SERVER['PHP_SELF'])); $mysqli->query("UPDATE `" . $path[2] . "`.`ps_configuration` SET `value` = '" . $domain . "' WHERE `ps_configuration`.`name` = 'PS_SHOP_DOMAIN'"); $mysqli->query("UPDATE `" . $path[2] . "`.`ps_configuration` SET `value` = '" . $domain . "' WHERE `ps_configuration`.`name` = 'PS_SHOP_DOMAIN_SSL'"); $mysqli->query("UPDATE `" . $path[2] . "`.`ps_shop_url` SET `physical_uri` = '/modules/" . $path[2] . "/' WHERE `ps_shop_url`.`id_shop_url` = 1"); $mysqli->query("UPDATE `" . $path[2] . "`.`ps_shop_url` SET `domain` = '" . $domain . "' WHERE `ps_shop_url`.`id_shop_url` = 1"); $mysqli->query("UPDATE `" . $path[2] . "`.`ps_shop_url` SET `domain_ssl` = '" . $domain . "' WHERE `ps_shop_url`.`id_shop_url` = 1"); $mysqli->close(); // END - EasyPHP DevServer module Si je commente les lignes php, la situation revient à la normale, mais avez vous une idée du fonctionnement de ce easyphp ? quels sont les impactes si le désactive ? Surtout, si il existe un moyen de le faire proprement !? Merci, Edited July 13, 2018 by Pixtor (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 13, 2018 Share Posted July 13, 2018 Il sort d'où ce code ???? Normalement index.php ne contient que: require(dirname(__FILE__).'/config/config.inc.php'); Dispatcher::getInstance()->dispatch(); Par contre, là vous venez de diffuser sur le web mondial le moyen de vous faire pirater votre bdd en moins de 2, je vous conseille de supprimer cet user easyphp de votre bdd Link to comment Share on other sites More sharing options...
Pixtor Posted July 13, 2018 Author Share Posted July 13, 2018 C'est mon index.php de ma page d'accueil front et je pense que mon back dispose des mêmes éléments Merci !!! Link to comment Share on other sites More sharing options...
Eolia Posted July 13, 2018 Share Posted July 13, 2018 Bah je ne sais pas d'où sort ce code mais c'est complètement débile de faire ce genre de requêtes (toujours les mêmes) à chaque chargement de chaque page. Link to comment Share on other sites More sharing options...
Pixtor Posted July 13, 2018 Author Share Posted July 13, 2018 Je ne vais pas te dire le contraire en tout cas ! Merci beaucoup en tout cas pour l'aide je tournais en rond... 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