Problème de connexion à la base de données aléatoire



  • Bonjour, je viens demander de l'aide sur ce forum car j'ai vraiment un souci dont je ne trouve pas la solution.

    Je m'occupe d'une boutique prestashop qui était en version 1.5.6.1, et que j'ai passé il y a 1 mois environ en version 1.6.1.17.

    Pour cela, j'ai créé un nouveau shop 1.6.1.17, j'ai réintégré le thème qu'on avait dans la version 1.5.6.1 (thème personnlaisé développé par l'ancien développeur qui avait créé le site), puis j'ai réintégré les données via le module Migration Pro. Tout n'a pas été bien récupéré par ce module, j'ai dû réintgrer certaines données manuellement via phpmyadmin.

    Mais globalement ça s'est bien passé, le site a été remis en ligne et fonctionne.

    L'hébergement est chez ovh (perf2014x1), la base de données sur 1 sql privé avec 512M de RAM.

    En front tout semble bien se passer, mais en BO, mon client a très souvent le message

    [PrestaShopException]
    
    Link to database cannot be established:SQLSTATE[HY000] [2002] Connection timed out
    at line 102 in file classes/db/DbPDO.php
    

    Dans les logs de prestashop, cela correspond à cemessage:

    Link to database cannot be established:SQLSTATE[HY000] [2002] Connection timed out at line 102 in file classes/db/DbPDO.php
    

    Cela peut se produire quand il met à jour ou créé une catégorie ou un produit, parfois même quand il veut se connecter à son BO, quand je regarde les logs web chez ovh, je vois que ça se produit aussi parfois sur AdminOrders...

    Si on recharge la page, ça marche...

    J'ai contacté ovh, ils m'ont conseillé de mettre une version plus récente de php, ce que j'ai fait (5.5 => 5.6), idem pour la version mysql (5.5 => 5.6)

    J'ai optimisé les tables de la bdd, supprimé les tables créées par Migration pro qui étaient énormes.

    J'ai désactivé certains modules qui n'étaient pas utilisés et même désactivé puis supprimé le module gamification...

    Rien n'y fait, j'ai toujours ce problème d'accès à la base de données qui saute de manière aléatoire...

    Pour info, la boutique a:

    • 13827 clients et 18 282 adresses
    • 5310 catégories
    • 1883 produits

    J'ai pensé que ça pouvait peut-être venir du grand nombre de catégories, car en activant le profiling, j'ai constaté que dès qu'on affiche le formulaire d'édition d'une catégorie, on a plus de 5500 requêtes, puisqu'on envoie une requête sur chacune des catégories. Mais je ne pense pas que cela soit ça le problème, car :

    • c'était le même cas en prestashop 1.5.6.1 et on n'avait pas ce problème...
    • ce problème d'accès à la bdd se produit dans d'autres cas de figure (par exemple cela peut arriver quand on veut se connecter au BO)

    Je ne sais plus où chercher, si quelqu'un a déjà eu ce cas de figure ou à des pistes à me donner, je lui serai très reconnaissante :cold_sweat:

    Merci

    Sophie



  • OVH vous raconte des salades.
    Même si c'est bien de nettoyer vos tables, le problème ne vient pas de chez vous mais de leur réseau interne qui sature à certaines heures en mutualisé.
    Il faut savoir que même les base dites "Pro" chez eux sont aussi en mutualisé. Elles ont juste plus de place^^

    Donc pour éviter ce genre de souci passez sur un semi-dédié ou un dédié, surtout si cette boutique est votre gagne pain.



  • Merci pour votre réponse Eolia.
    J'avais un petit doute concernant ovh... Avant de conseiller à mon client de changer d'hébergement (voire d'hébergeur...), je voulais m'assurer que le problème ne venait pas du site.
    Ce qui est quand même étrange, c'est qu'on n'avait pas ce genre de pb sur la version 1.5.6 du site, sur le même hébergement, mais peut-être que prestashop 1.6 est plus gourmand?
    Concernant ovh, quelle offre est conseillée pour un prestashop à votre avis?
    Sinon, je lui propose carrément de changer d'hébergeur, phpnet par exemple propose une offre premium qui est très bien.
    Bonne soirée
    Sophie



  • Vous pouvez avoir les doutes que vous voulez mais le message est on ne peut plus clair:
    Link to database cannot be established:SQLSTATE[HY000] [2002]

    Le lien avec la base de données n'a pu être établi.
    Avec la 1.6, chez OVH on peut avoir aussi le message "504 bad gateway" ou "Mysql has gone away" qui reflètent bien la qualité du service dès qu'on sollicite un peu la base.
    La différence du core est minime entre la 1.5 et la 1.6, la seule chose qui pourrait changer seraient un thème ou des modules plus gourmands en ressources.

    Un mutu c'est bien pour tester ou découvrir, mais dès qu'on a besoin de répondant ou que le trafic et le catalogue augmente il faut passer à plus sérieux.

    Concernant les hébergeurs je préfère ne rien dire... votre offre "Premium" est un pauvre vps (donc un mutu déguisé par abstraction logicielle).

    Dédié ou semi-dédié, je n'en démords pas. Au moins vous êtes maître de votre machine et vous ne risquez pas de subir les conséquences d'un environnement surchargé ou défaillant.



  • Réponse très claire en effet, je fais suivre à mon client et j'arrête de me prendre la tête à chercher d'où ça vient ;-)

    Merci encore

    Sophie