Lenteur au root de la boutique

  • Posts: 52
  • Thank you received: 2
  • Hikashop Business
4 years 3 months ago #323103

-- HikaShop version -- : 4.1.0
-- Joomla version -- : 3.9.6
-- PHP version -- : 7.2

Bonjour,

Nous avons une lenteur lorsque nous accédons le root de la boutique en français. Nous n'avons pas ce problème dans la version anglaise (en/store). La boutique est en anglais et la version française est dans falang.

merci

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

  • Posts: 4747
  • Thank you received: 644
  • MODERATOR
4 years 3 months ago #323112

Bonjour,

Plusieurs choses, d'abord vous devez savoir que le Joomla debug mode (surtout s'il est en mode developpement) peut être extremement gourmand en ressources, du coup avez vous fait un essai sans le debug Joomla ?

Nous avons fait un essai en "fr" & "en", et il est vrai qu'il semblerait que le menu fr soit un peu plus long, mais vous nous direz si vous constater toujours un grand écart une fois le Joomla debug mode desactivé.
Car pour le moment, nous ignorons ce qui pourrait menait à pareil résultats.

En attentes de vos retours pour progresser sur votre sujet.
Cordialement

Last edit: 4 years 3 months ago by Philip.

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

  • Posts: 52
  • Thank you received: 2
  • Hikashop Business
4 years 3 months ago #323151

Bonjour,

Le Joomla debug mode a été mis pour que vous puissiez avoir une meilleure idée de ce qui se passait. Nous l'avons enlevé, vous pourrez alors constater le délai que nous avons en français que nous n'avons pas en anglais.

Le problème ne se trouve pas dans la page d'accueil de notre site Web mais au root de la boutique. En anglais le chargement de la page est instantané, en français cela peut prendre une vingtaine de seconde.

Voici les 2 liens :

  • fr/boutique
    en/store

merci

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

  • Posts: 82867
  • Thank you received: 13373
  • MODERATOR
4 years 3 months ago #323153

Bonjour,

Pour moi le soucis vient de deux choses:
Vous avez beaucoup de produits et Falang est utilisé pour les traductions.
Il faudrait que je puisse voir les pages avec le débug activé pour regarder la durée des requêtes MySQL pour confirmer mais c'est surement le problème.
Malheureusement, il est normal que Falang ralentisse l'affichage de la page dans les langues gérées par Falang car pour chaque requête MySQL, il fait sa propre requête MySQL pour charger les traductions des éléments chargés et ensuite il y a un peu de processing PHP pour remplacer les textes dans les données.
Et le plus d'éléments il y a, le plus cela va ralentir le chargement des données.
donc il n'y a pas beaucoup de solutions dans ce cas:
- passer sur un hébergement avec un plus gros serveur.
- ne pas utiliser Falang et utiliser le système de traduction dans HikaShop directement (cela demanderait une mise à jour d'HikaShop et de refaire toutes les traductions)
- afficher moins de produits par page, moins de modules, etc

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

  • Posts: 52
  • Thank you received: 2
  • Hikashop Business
4 years 3 months ago #323186

Bonjour,

Le mode debug a été mis dans Joomla.

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

  • Posts: 82867
  • Thank you received: 13373
  • MODERATOR
4 years 3 months ago #323190

Bonjour,

Alors, c'est intéressant. Le débug nous apprends que le ralentissement est durant le processing du module "Filtre - catégorie":
monosnap.com/file/mc1WtdK4rI7e5LeRC7Zo75gJShvZ6Y
Et si je regarde les requêtes, je vois deux requêtes faites par Falang qui prennent chacune 400ms environ et retournent plus de 10000 entrées:
monosnap.com/file/FUWrpxiwNUsncXGSiG7Qk9K9UiepYb
Or, ça c'est juste le temps d'execution de la requête. Avec toutes ces entrées à traiter la majorité du temps perdu est passé par Falang à récupérer les données et remplacer les textes.
Et si je regarde la pile d'execution de PHP pour ces requêtes je vois ceci:
monosnap.com/file/mkTh4K0vKgMMTlCRTwFYsGmeOWQMoy
Cela montre que les requêtes de Falang sont faites à partir de requêtes faites par le système de filtres HikaShop qui permet de récupérer la liste des ids des produits pour toutes les pages du listing courant. (cela permet ensuite de gérer l'option "dynamic display" dans les filtres).
De votre coté, je pense que vous n'avez pas besoin de ces requêtes. donc ce que vous pouvez faire, c'est éditer le fichier
/templates/custom/html/com_hikashop/product/filter.php et enlever la ligne

$datas=$this->filterClass->getProductList($this, $filters);
Cela évitera le chargement de ces données et donc à Falang de faire ces réquêtes.
Idéalement, il faudrait améliorer Falang pour ne pas faire ces requêtes car dans les requêtes d'HikaShop on ne demande que l'id des produits, qui n'a pas besoin d'être traduit...
SELECT DISTINCT b.product_id  
  FROM jos_hikashop_product_category AS a 
  LEFT JOIN jos_hikashop_product AS b 
  ON a.product_id=b.product_id 
  WHERE (b.product_published = 1) 
  AND (b.product_type = 'main') 
  AND (a.category_id IN (12,16,19,22,23,439,40,30,31,32,33,34,35,36,37,38,39,54,124,46,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,2)) 
  AND ((b.product_access = 'all' OR b.product_access LIKE '%,9,%')) 
  ORDER BY a.ordering ASC

The following user(s) said Thank You: novisoft

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

  • Posts: 52
  • Thank you received: 2
  • Hikashop Business
4 years 3 months ago #323244

Merci cela fonctionne.

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

Time to create page: 0.065 seconds
Powered by Kunena Forum