Cuando un Magento empieza a trabarse en hora pico, casi siempre hay dos culpables: índices corriendo en mal momento y consultas largas bloqueando tablas críticas.
Lo primero que reviso en producción:
- Modo de indexers (schedule vs realtime).
- Cron backlog y duración real de cada job.
- Locks activos en InnoDB durante ventanas de carga.
Checklist rápido de hardening:
1) Verificá el modo de indexación
bin/magento indexer:show-mode
bin/magento indexer:set-mode schedule catalogsearch_fulltext catalog_category_product catalog_product_price
Si un indexer pesado está en realtime, vas a pagar ese costo en cada cambio y el impacto se siente en frontend.
2) Controlá concurrencia de cron
No dejes múltiples workers reindexando la misma familia de índices. Definí ventanas y límites para evitar tormenta de procesos.
3) Medí locks, no intuición
SHOW ENGINE INNODB STATUS\G
SELECT trx_id, trx_started, trx_query FROM information_schema.innodb_trx ORDER BY trx_started;
Si ves transacciones largas tocando tablas de catálogo/inventario en paralelo con tráfico alto, ahí está el cuello.
4) Separá tareas pesadas de momentos comerciales
Reindex completo, import masivo y generación de feeds no deberían competir con checkout en horas de campaña.
5) Definí rollback operativo
Antes de tocar configuración de indexers o cron:
- backup lógico
- snapshot de configuración
- plan de vuelta en menos de 15 minutos
Resultado esperado
No se trata de “reindexar más rápido”, sino de reindexar sin romper la experiencia de compra. En operaciones críticas, estabilidad > heroísmo técnico.
Lo primero que reviso en producción:
- Modo de indexers (schedule vs realtime).
- Cron backlog y duración real de cada job.
- Locks activos en InnoDB durante ventanas de carga.
Checklist rápido de hardening:
1) Verificá el modo de indexación
bin/magento indexer:show-mode
bin/magento indexer:set-mode schedule catalogsearch_fulltext catalog_category_product catalog_product_price
Si un indexer pesado está en realtime, vas a pagar ese costo en cada cambio y el impacto se siente en frontend.
2) Controlá concurrencia de cron
No dejes múltiples workers reindexando la misma familia de índices. Definí ventanas y límites para evitar tormenta de procesos.
3) Medí locks, no intuición
SHOW ENGINE INNODB STATUS\G
SELECT trx_id, trx_started, trx_query FROM information_schema.innodb_trx ORDER BY trx_started;
Si ves transacciones largas tocando tablas de catálogo/inventario en paralelo con tráfico alto, ahí está el cuello.
4) Separá tareas pesadas de momentos comerciales
Reindex completo, import masivo y generación de feeds no deberían competir con checkout en horas de campaña.
5) Definí rollback operativo
Antes de tocar configuración de indexers o cron:
- backup lógico
- snapshot de configuración
- plan de vuelta en menos de 15 minutos
Resultado esperado
No se trata de “reindexar más rápido”, sino de reindexar sin romper la experiencia de compra. En operaciones críticas, estabilidad > heroísmo técnico.
Comentarios