Quand les combinaisons PrestaShop tuent la performance : limites et solutions

434 vues

Quand les combinaisons PrestaShop tuent la performance : limites et solutions

Le systeme de combinaisons de PrestaShop permet de creer des variantes de produits. Il fonctionne parfaitement pour les produits avec quelques variantes. Mais quand les produits ont des centaines ou milliers de combinaisons, la performance se degrade dramatiquement.

Pourquoi les combinaisons causent des problemes de performance

Architecture de la base de donnees

PrestaShop stocke les donnees de combinaisons dans plusieurs tables : ps_product_attribute, ps_product_attribute_combination, ps_stock_available, ps_specific_price. Un produit avec 5 tailles et 10 couleurs cree 50 combinaisons avec plus de 350 lignes en base.

Le probleme de croissance exponentielle

AttributsValeursCombinaisonsLignes BD
25 x 525~175
310 x 15 x 81 200~8 400
410 x 15 x 8 x 56 000~42 000

Limites pratiques

NombreFront OfficeBack OfficeVerdict
1-50RapideRapideAucun probleme
50-200AcceptableAcceptableGerable
200-500Lent (3-8s)LentOptimisation necessaire
500-1000Tres lentTres lentRestructuration a envisager
1000+InutilisablePlantagesRestructuration obligatoire

Solution 1 - Restructurer le catalogue

Au lieu d'un produit avec 50 combinaisons (10 couleurs x 5 tailles), creez des produits separes par couleur avec 5 combinaisons chacun. Plus rapide et meilleur pour le SEO.

Solution 2 - Optimisation base de donnees et serveur

ALTER TABLE ps_product_attribute 
  ADD INDEX idx_product_default (id_product, default_on);

ALTER TABLE ps_stock_available 
  ADD INDEX idx_product_attribute (id_product, id_product_attribute);

Solution 3 - Chargement progressif des combinaisons

Au lieu de charger toutes les combinaisons au chargement de la page, charger les donnees par AJAX quand le client selectionne un attribut.

Solution 4 - Strategies de cache

Cache de page complet (Varnish, LiteSpeed) pour les pages produits. Redis ou Memcached pour le cache objet.

Quand eviter completement les combinaisons

  • Produits configurables avec 4+ attributs - Module configurateur de produit
  • Produits dimensionnels - Module de dimensions personnalisees
  • Produits print-on-demand - Module de design produit

Recommandations par nombre de combinaisons

NombreAction recommandee
Moins de 100Aucune action necessaire
100-300Index BD, OPcache, Redis
300-1000Diviser les produits, index, lazy loading
Plus de 1000Restructurer le catalogue, module configurateur

Cette réponse vous a-t-elle été utile ?

Vous avez encore des questions ?

Can't find what you're looking for? Send us your question and we'll get back to you quickly.

Loading...
Back to top