Magento, Solutions E-commerce — 28/09/2012 at 16:39

Le patch de réindexation de Magento

by

L’agence DnD, on ne présente plus la maison, c’est une agence “Fight club”. Vous savez, “Rule of the fight club : you don’t talk of the fight club”. (Une agence dont on ne parle pas car ils risquent de devenir connus et du coup, ça serait plus pareil.)

Comme leur signature, c’est l’excellence technique, ils patchent régulièrement le code qui n’est pas optimal. Du coup, ils se sont intéressés à un soucis connus de Magento : La réindexation.

D’habitude, ce processus est lent et ultra consommateur de ressources. Avec ce patch, le temps de traitement est minimum divisé par deux et, la plupart du temps, descend de 90%. Rien de moins.

Vous pouvez retrouver le post complet sur ce patch totalement indispensable ici et le patch directement ici.

A l’origine était la lenteur

“Chez certains de nos clients possédant un très grand nombre d’URL distinctes, le temps de traitement de la ré-indexation «Catalog Url Rewrites» prenait parfois plusieurs heures à s’exécuter, que ce soit manuellement via le BackOffice, ou bien via une tâche CRON.”

Et à l’origine de la lenteur, un bug du core de Magento

Car même si votre site est paramétré pour fonctionner en URL courte (www.my-site.com/product.html), Magento calcule aussi les urls longues (www.my-site.com/category/product.html). Et si votre produit est présents dans de multiples catégorie, vous avez une url courtes mais autant d’url longues, même si vous ne vous en servez pas.

Petit extrait du post, ma partie préférée, le benchmark :

Benchmark

Pour vous donner un petit avant-goût des gains attendus, voici les premiers résultats obtenus sur des typologies de catalogue et configurations différentes.

Exemple :

Avec 9500 références (SKU), réparties (ou non) dans 900 catégories / sous catégories et en tenant des pages CMS, le nombre d’URL générées est d’environ 80 000 dans la table «Core_URL_Rewrite». Le temps de ré-indéxation (lancé manuellement ou en CRON) est de l’ordre de 3h30 (12 600sec).

Après l’application de notre patch, ce temps de ré-indexation tombe à 1min !

D’autres exemples dans le tableau suivant :

Benchmark temps de ré-indexation des URL

One Comment

  1. Testé et adopté sur quelques clients qui n’ont que des produits configurables.
    Ex : 1500 produits configurables, 15000 produits (dont + 13000 en simples non visibles individuellement). On ajoute des produits dans x catégories et la réindexation devient problématique. Ce patch de DnD (merci!) a solutionné ce problème. On ne ré-indexe que les url de produits “visibles”. 2 mn et le tour est joué.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>