requêtes doublées et incroyablement longues

  • Posts: 60
  • Thank you received: 4
  • Hikashop Business
8 months 2 weeks ago #337519

-- url of the page with the problem -- : francoise-paviot.com/
-- HikaShop version -- : 4.4.4
-- Joomla version -- : 3.10.3
-- PHP version -- : 7.4.23

Bonjour,

J'ai un problème de lenteur sur un site Hikashop, j'ai donc cherché ce qui pouvait coincer car à part Hikashop il n'y a rien d'autres sur ce site. En activant le mode debug je vois que le total de requêtes base de données dure 4437.02 ms (voir PJ 2021-11-30_08h28_09.png)



Ensuite je vois que sur les requêtes en BDD sur 99 requêtes effectuées 18 sont doublées (cela peut être plus suivant les pages, ici nous sommes sur la home de backend) (voir PJ 2021-11-30_08h30_44.png)


Enfin en regardant ces requêtes je vois celle-ci qui est la plus gourmande (PJ 2021-11-30_08h33_08.png)


Pourriez-vous me dire comment régler ce problème svp ?
En vous remerciant d'avance pour vos réponses, bonne journée


Adishatz, erix
www.agerix.fr
Attachments:
Last edit: 8 months 2 weeks ago by erix. Reason: réponse fournie par le support

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

  • Posts: 76130
  • Thank you received: 11914
  • MODERATOR
8 months 2 weeks ago #337532

Bonjour,

Très bonne idée de regarder les informations de débug.
Merci d'avoir pris la peine de fournir les bonnes infos.

Comme vous pouvez le voir dans le débug, le souci est au niveau du "onAfterRoute", c'est à dire le routage de Joomla, c'est à dire le système qui "comprend" l'URL SEF qui est envoyée à Joomla pour pouvoir savoir quelle partie de quelle extension doit être appelée.

D'après le callstack, le souci vient du plugin HikaShop dans AcyMailing qui charge en mémoire les informations de toutes les images de tous les produits dans HikaShop à ce moment.
Cela prend 4 secondes à MySQL d'envoyer toutes les infos au PHP suite à la requête MySQL et c'est ça qui crée votre délai.
Donc il va falloir remonter le problème au support d'AcyMailing pour optimiser tout cela, car j'imagine qu'ils n'ont pas besoin de charger toutes les images de tous les produits sur chaque page du site, et certainement pas lors du routage des URLs qui est un processus qui n'affiche pas d'HTML :)

Concernant les requêtes soit-disant en double il n'y a pas à s'inquiéter.
La plupart du temps c'est que le système de débug voit deux requêtes semblables (mais différentes), et les deux sont nécessaire.
Il y a aussi des problème de cache. Par exemple: HikaShop charge le panier courant le l'utilisateur lors de l'initialisation du panier / passage en caisse. Si la requête HTTP modifie le panier, alors le cache du panier est invalidé et le système va recharger le nouveau panier. Et donc les même requêtes MYSQL de chargement des données seront faites deux fois sur la même page, mais avec des retours différents vu que le panier a été modifié entre temps.
Ce genre de choses arrive souvent et n'est pas limité à HikaShop.
Différentes extensions peuvent avoir à charger les mêmes données et du coup avoir des requêtes dupliquées sans que cela soit évitable.
Mais ce n'est pas très grave. Ce qui est important, c'est que les requêtes soient rapides.
Là, vous avez une seule requête MySQL qui a elle seule prend 99% du temps de chargement (et surement pour rien). Donc les requêtes en double de la page, ce n'est même pas 1% du temps de chargement et c'est négligeable.

Last edit: 8 months 2 weeks ago by nicolas.

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

  • Posts: 60
  • Thank you received: 4
  • Hikashop Business
8 months 2 weeks ago #337535

Bonjour Nicolas et merci pour ce retour très complet. Je vais me rapprocher du support d'Acymailing et voir avec eux quelle est la solution.
Je passe le thread en résolu et bonne journée ;)


Adishatz, erix
www.agerix.fr
The following user(s) said Thank You: nicolas

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

Time to create page: 0.075 seconds
Powered by Kunena Forum