Extrèmement bloquant : Lenteurs + erreurs 500 panier

  • Posts: 121
  • Thank you received: 10
  • Hikashop Business
7 months 5 days ago #361125

-- url of the page with the problem -- : www.grimages.com
-- HikaShop version -- : 5.0.4
-- Joomla version -- : 5.1.0
-- PHP version -- : 8.2.16

Bonjour,

Nous rencontrons un problème très bloquant notre site est à pratiquement inutilisable pour nos visiteurs et c'est notre principal vecteur de vente.

Depuis dimanche matin nous avons constatés des lenteurs très lourdes sur le site.
Elles nous ont été signalées par les clients.

Nous avons tout essayé, cache, réglages etc. rien n'y fait.
Nous avons l'impression que le problème se situe au niveau du panier car si l'utilisateur n'a pas de panier la navigation se passe globalement bien (sauf si on essaie d'adccéder à une page où le module panier est présent).


Voici ce que nous avons observés :
- Si le visiteur n'est pas identifié : Tout fonctionne normalement
- Si le visiteur est identifié et n'a pas de panier : Tout fonctionne normalement.
- Si le visiteur est identifié, à partir du moment où il y a au moins un produit dans son panier: les lenteurs apparaissent et le checkout est pratiquement impossible. Des erreurs 500 apparaissent et d'après les logs ce seraient des erreurs de "MySQL server has gone"
- L'admin fonctionne parfaitement
- J'ai essayé de vider complètement les tables #__hikashop_cart et #__hikashop_cart_product (en ayant fait un backup avant) et cela ne change pas le problème). J'ai donc restauré les backups de ces deux tables.

C'est très ennuyeux car le site est inutilisable. Nous avons besoin d'aide et sommes près à payer un support supplémentaire pour être secouru rapidement. Je vais utiliser le formulaire de contact pour vous envoyer des accès administrateurs.

Cordialement.

Please Log in or Create an account to join the conversation.

  • Posts: 121
  • Thank you received: 10
  • Hikashop Business
7 months 4 days ago #361128

Bon après encore une batterie de test il semble que si un utilisateur n'est pas connecté mais mets quelque chose dans son panier le problème n'apparait pas. Mais une fois connecté le problème survient. Je ne suis donc plus aussi certain que cela vienne du panier mais plutot d'une combinaison de paramètres panier + identification.

Last edit: 7 months 4 days ago by info@lerenardquitrace.be.

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
7 months 4 days ago #361134

Bonjour,

Des lenteurs lorsqu'il y a un utilisateur connecté avec un panier rempli, pour moi, cela indique que lorsque HikaShop charge le panier en mémoire, quelque chose (un plugin) a besoin de récupérer des informations sur un serveur externe et il n'y arrive pas.
Normalement, pour moi c'est un plugin de livraison qui n'arrive pas à se connecter au serveur de la plateforme de livraison, vu que cela n'arrive qu'une fois que l'utilisateur fourni une adresse et a un panier rempli.
Je vois que vous avez le plugin Mondial relay, donc pour moi c'était le suspect en haut de la liste.

Cependant, j'ai essayé de reproduire le problème sur votre site, mais je n'y arrive pas. Même connecté, et avec une adresse, et avec un panier, et sur le passage en caisse, la page s'affiche rapidement et j'ai même la méthode de livraison Mondial relay qui s'affiche normalement. N'arrivant pas à reproduire le problème, difficile de dire qu'où cela vient. Peut être même que vous n'avez plus le problème ? Peut être était-ce une mise à jour de serveur chez Mondial Relay durant le weekend ?
Arrivez-vous toujours à reproduire le problème ? Si oui, auriez-vous des instructions précises pour reproduire le problème ?

Ce que vous pouvez essayer de faire, c'est de parcourir la liste des plugins des groupes "hikashop", "hikashopshipping", "hikashoppayment" et "system", et pour chaque plugin qui a besoin de se connecter à un service externe, essayez de le dépublier temporairement et pendant ce temps, rafraîchissez une page avec le souci sur le frontend.
Si le problème n'apparait plus, ce permettra de dire que le problème vient du plugin dépublié. Et ensuite on pourra cibler notre travail là-dessus.

Enfin, si vous avez le problème sur toutes les pages avec un panier, je vous recommande de désactiver temporairement le module panier et de configurer le plugin HikaShop cart notification pour rediriger vers le passage en caisse. Ainsi, le problème sera circonscrit au passage en caisse.

Please Log in or Create an account to join the conversation.

  • Posts: 121
  • Thank you received: 10
  • Hikashop Business
7 months 4 days ago #361135

Bingo, j'ai trouvé.
J'ai rappatrié le site sur ma machine locale et j'ai constaté qu'elle n'avait pas le souci.
J'ai donc supposé que cela venait de l'hébergement. Je l'ai uploadé sur un autre hébergement et le souci est revenu.

APrès analyse plus approfondie en locale j'ai vu le message "La vérification en ligne du numéro de TVA a besoin de l'extension SOAP pour PHP. Si vous ne l'avez pas, veuillez l'installer et l'activer. Sinon, vous pouvez également désactiver la vérification en ligne."

Je n'ai effectivement pas SOAP en local. Je me suis dit qu'il y avait peut-être un rapport. J'ai alors changé le réglage dans l'administration HIkashop pour désactiver la vérification en ligne et bingo la vitesse est revenue à la normale.

Je suppose que le service utilisé pour la vérification du numéro de TVA a un problème pour le moment et mets très longtemps à répondre ce qui crée la lenteur. Ce que j'ai moins de facilité à comprendre c'est pourquoi ce service TVA serait appelé à chaque page.... a moins qu'il y ait un petit test de la présence de SOAP et de son fonctionnement sur chaque page afin d'éventuellement afficher le message que j'ai vu en local.

Pour le moment nous allons laisser le réglage comme cela car nous avons trop de commandes à ratraper mais l'idéal serait de pouvoir à nouveau confortablement revérifier les numéros de TVA. (Nous exportons pas mal et il est important de pouvoir justifier les achats en tva intracommunautaire).

Merci pour la réponse rapide.

Please Log in or Create an account to join the conversation.

  • Posts: 121
  • Thank you received: 10
  • Hikashop Business
7 months 4 days ago #361136

Une réflexion supplémentaire, nous avons eu une vague de Crawler sur le site ce samedi (Bing et Google se sont passé le mot pour déferler sur les pages) et j'ai vu qu'ils avaient tous suivis les liens d'ajouts au panier.

Serait-il possible que le passage des crawler ait "floodé" les requêtes SOAP ce qui aurait pu "consommer" le maximum accepté par le service de vérification TVA ?

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
7 months 4 days ago #361137

La vérification du numéro de TVA ne se fait qu'à la sauvegarde d'une nouvelle adresse avec un numéro de TVA, ou lorsqu'une adresse est modifiée avec une autre valeur que celle déjà dans le champ du numéro de TVA.
Donc, normalement, une fois qu'un utilisateur a sauvé son adresse, il ne devrait pas à avoir de vérification du numéro.
Aussi, si vous regardez le WSDL qui est utilisé pour la vérification du numéro de TVA ( ec.europa.eu/taxation_customs/vies/checkVatService.wsdl ) vous pouvez y lire ceci:

- GLOBAL_MAX_CONCURRENT_REQ: Your Request for VAT validation has not been processed; the maximum number of concurrent requests has been reached. Please re-submit your request later or contact This email address is being protected from spambots. You need JavaScript enabled to view it. for further information": Your request cannot be processed due to high traffic on the web application. Please try again later;
- MS_MAX_CONCURRENT_REQ: Your Request for VAT validation has not been processed; the maximum number of concurrent requests for this Member State has been reached. Please re-submit your request later or contact This email address is being protected from spambots. You need JavaScript enabled to view it. for further information": Your request cannot be processed due to high traffic towards the Member State you are trying to reach. Please try again later.
- SERVICE_UNAVAILABLE: an error was encountered either at the network level or the Web application level, try again later;
- MS_UNAVAILABLE: The application at the Member State is not replying or not available. Please refer to the Technical Information page to check the status of the requested Member State, try again later;
- TIMEOUT: The application did not receive a reply within the allocated time period, try again later.

Donc il y a plusieurs raisons qui pourrait faire que la vérification en ligne soit impossible, et en plus le problème pourrait être localisé sur certains pays de l'EU uniquement.
Donc par exemple, il est possible qu'avec mon numéro de TVA en France, cela fonctionne bien sur votre site, mais pas avec un numéro de TVA Belge, si le souci est au niveau du serveur de vérification des numéros de TVA de la Belgique.
Cependant, dans le code d'HikaShop nous gérons ces erreurs, et si par exemple il y a un timeout, HikaShop laisse passer le numéro de TVA sans bloquer l'utilisateur.
Le seul moment ou HikaShop refuse le numéro de TVA et affiche directement un message à l'utilisateur, c'est si SOAP n'est pas disponible, car il faut alors que SOAP soit activé, soit que la vérification online soit désactivée. Et normalement, cet affichage ne se fait qu'à la sauvegarde de l'adresse, pas sur chaque page, vu que la vérification du numéro est à la sauvegarde de l'adresse.
Donc même en supposant que le problème vienne de là, je ne vois pas bien pourquoi cela bloquerait toutes les pages avec un panier... à moins que vous ayez un plugin qui fasse de la validation des numéros de TVA à chaque chargement de panier ? Cela me semblerait bizarre tout de même.
Aussi, dans les messages d'erreur du service de vérification de TVA en ligne, rien n'indique qu'il y a des limites imposées par site web.

Last edit: 7 months 4 days ago by nicolas.

Please Log in or Create an account to join the conversation.

  • Posts: 121
  • Thank you received: 10
  • Hikashop Business
7 months 4 days ago #361138

D'accord, c'est très curieux car dés la désactivation de la vérification du numéro de TVA les commandes ont reprises sur le site.
Il y a tout de même une portion de code qui interroge le serveur pour savoir si SOAP est installé puisqu'on a un message d'erreur si ce n'est pas le cas.
Serait-il possible que mon hébergeur ait bloqué le nombre d'interrogation de ce service et que cela génère la lenteur ?

Please Log in or Create an account to join the conversation.

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
7 months 4 days ago #361140

Bonjour,

Comme je disais, la vérification du numéro de TVA ne se fait qu'à l'enregistrement d'une adresse. Donc même avec beaucoup d'utilisateurs, cela ne devrait pas déclencher une limitation, et cela ne devrait pas bloquer toutes les pages avec un panier.
Cela se fait avec l'appel de _checkVat dans la fonction save de administrator/components/com_hikashop/classes/address.php dont vraiment je ne vois pas pourquoi cela bloquerait toutes les pages avec panier.
Peut être faudrait-il mettre en place une copie du site avec la vérification du numéro de TVA activée pour reproduire le souci et étudier cela plus en détails sans impacter vos clients.

Please Log in or Create an account to join the conversation.

Time to create page: 0.056 seconds
Powered by Kunena Forum