Indexer Magento: cron e ottimizzazione

Introduzione

Gli indexer di Magento 2 trasformano dati raw (prodotti, prezzi, stock, regole) in tabelle ottimizzate per la lettura frontend. Una loro configurazione errata e' causa principale di lentezza e dati non aggiornati nello store.

Indexer principali

  1. design_config_grid: configurazioni design.
  2. customer_grid: griglia clienti adminhtml.
  3. catalog_category_product: relazione categoria-prodotto.
  4. catalog_product_category: relazione inversa.
  5. catalog_product_price: prezzi finali (tier, special, regole).
  6. catalog_product_attribute: attributi filtrabili.
  7. cataloginventory_stock: stato stock.
  8. catalogrule_product: regole catalogo.
  9. catalogsearch_fulltext: indice ricerca Elasticsearch.

Modalita' Update on Save vs Update by Schedule

Update on Save aggiorna l'indice ad ogni salvataggio: comodo in piccoli store, ma rallenta enormemente l'admin con migliaia di prodotti. Update by Schedule (consigliato) utilizza tabelle changelog e cron per aggiornare in batch ogni minuto.

Comandi indexer

Mostrare stato: php bin/magento indexer:status. Cambiare modalita': php bin/magento indexer:set-mode schedule. Reindicizzazione totale: php bin/magento indexer:reindex. Singolo: php bin/magento indexer:reindex catalog_product_price.

Cron Magento

I tre job cron vanno schedulati come utente web ogni minuto:

* * * * * php /var/www/html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/var/log/magento.cron.log
* * * * * php /var/www/html/update/cron.php >> /var/www/html/var/log/update.cron.log
* * * * * php /var/www/html/bin/magento setup:cron:run >> /var/www/html/var/log/setup.cron.log

Ottimizzazioni

  1. Tabella mview_state troppo grande indica indexer Schedule bloccati o disallineati.
  2. Eseguire indexer:reset se l'indice e' inconsistente.
  3. Per shop con molti prodotti, eseguire reindex notturni in fascia oraria di basso traffico.
  4. Aumentare memory_limit PHP a 4G durante reindex pesanti.

Hai bisogno di aiuto?

Se vuoi un Magento ottimizzato dal team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?