Cómo mejorar el rendimiento de Magento 2 con Flat Catalog

Hola a todos los practicantes de Magento. Supongo que se está preguntando continuamente sobre las formas de hacer que su gran tienda electrónica sea más rápida y más amigable para el cliente. Bueno, has aterrizado en el lugar correcto. En este artículo, le hablaré de una forma relativamente sencilla de hacer que una tienda Magento 2 funcione mejor. Como sabemos, la ralentización de Magento 2 (o caída en el rendimiento del sistema) es uno de los desafíos que enfrentan las grandes tiendas electrónicas. Entonces, vamos a sumergirnos.

Rendimiento débil de Magento 2: ¿por qué?

Magento usa el catálogo Entidad-Atributo-Valor por defecto. ¿Qué significa para los usuarios habituales del sistema? Esto significa que 1 producto que tiene, digamos, 6 atributos obligatorios se almacena en 6 tablas diferentes (lo mismo ocurre con las categorías).

Así luce (se asemeja a una jugosa hamburguesa bien horneada que supera la “capacidad de comer” de la mayoría de los seres humanos):

“¡¿Cómo es que?!”, exclamará nuestro respetado lector, “¡Esto es contraproducente!”. No podría estar más de acuerdo, ya que las bases de datos hinchadas dañan el rendimiento de la tienda electrónica. Para luchar contra esta amenaza, los expertos de Magento desarrollaron 2 características milagrosas:

  • Usar producto de catálogo plano
  • Usar categoría de catálogo plano

Magento 2 Mesas planas: ¿qué son?

Una tabla plana es una tabla adicional que almacena toda la información sobre un producto o una categoría. El principio de funcionamiento aquí es bastante simple: cuanto más corta sea la consulta a la base de datos, mejor será el rendimiento de la tienda. Ya está, hemos liberado al conejo del sombrero. ¿Crees que es hora de irse? Espera, te diré cómo llegó allí nuestro lindo y esponjoso amigo).

Aquí hay instrucciones paso a paso para activar Usar producto de catálogo plano y Usar categoría de catálogo plano:

Tienda > Configuración > Catálogo > Escaparate > Usar categoría de catálogo plano или Usar producto de catálogo plano = SÍ

Si se dirige a la base de datos ahora, verá una tabla que une numerosos atributos; lo mismo funciona para las categorías. El sistema digerirá este “plato” mucho más rápido, ¡no es esa hamburguesa choky!

¿Qué ha cambiado en el trabajo del sistema, aparte de la consulta optimizada de la base de datos? Ahora las tablas planas se actualizan cada minuto o según la configuración de Cron.

Probemos paso a paso el trabajo de Magento 2 Flat Catalog activado:

Lo probaremos en un producto simple .

  1. Abra la página del producto simple
  2. Ahora vamos a cambiar el nombre del producto. Me gusta el nombre Amasty. ¿Sorprendido?
  3. Ahora guarde los cambios haciendo clic en Guardar .
  4. Ahora encuentre el producto modificado usando la función de búsqueda en la interfaz.

Resultado esperado : la actualización automática le permitirá ver los cambios en un minuto (o según la configuración de su Cron).

Si su Cron no sigue el principio «aquí y ahora», puede usar el comando para la activación manual de Cron php bin/magento cron:run .

¡Voila! Ahora que el rendimiento de Magento ha mejorado y que todo el sistema brilla y resplandece, es posible que se pregunte: «Si Magento 2 Flat Catalog es más simple/mejor para el rendimiento, ¿por qué no usarlo de forma predeterminada?» Esta pregunta ha desconcertado a muchas personas inteligentes, y yo no soy una excepción. Internet ofrece una variedad infinita de respuestas. Como valoro tu tiempo, te ofrezco las tres versiones que más me gustan. Además, los expertos dicen que son válidos. Así que aquí están: 

  • Razón #1 . Un número limitado de atributos de producto (categorías) en una tabla.
  • Razón #2 . El catálogo de EAV es mucho más flexible, por lo que brinda a los desarrolladores mucho más espacio para la acción.
  • Razón #3 . En la práctica, si tienes 5 tiendas que venden 300 productos en 10 categorías, la diferencia entre el catálogo EAV y Magento 2 Flat será significativa. Imagina la situación: un insecto vuela a unos 100 m de distancia, y estás tratando de adivinar qué insecto es, una mosca o un mosquito. La cuestión es que el uso del catálogo plano solo vale la pena cuando el rendimiento de su gran sistema Magento 2 está disminuyendo, y para verlo, debe ejecutar las pruebas de rendimiento de su sistema con regularidad.

Lea este artículo para configurar su sistema y el entorno de trabajo de manera óptima. Y no olvide habilitar PERFILADOR .

Mesa plana para probar tu tienda

Así que nos acabamos de dar cuenta de que un catálogo de tabla plana resulta más eficaz para tratar con grandes bases de datos (intensas en información). Es probable que tengas un sitio de ensayo con algunos modelos que compraste en amasty.com (al menos eso espero). Ahora desea probar el rendimiento de su catálogo de mesa Magento 2 Flat bajo carga y con respecto a los módulos instalados .

Para configurar una prueba básica, siga las instrucciones paso a paso a continuación:

  • Paso 1. Implemente una solución Magento 2 basada en una gran base de datos. Para hacerlo, sigue esta guía . No olvide elegir un perfil de tienda relevante. Esto lo ayudará a generar una cantidad adecuada de datos para su tienda según su tamaño: grande, mediano o pequeño.
  • Paso 2. Elija uno o varios módulos adecuados e instálelos. Por ejemplo, puedes elegir:
    • Magento 2 Mass Product Actions que le permite cambiar los atributos del producto directamente en la cuadrícula del producto. Esto ahorra mucho tiempo, lo cual es importante en las pruebas;
    • Categorías duplicadas de Magento 2   que lo ayudarán a probar una categoría de catálogo de tabla plana utilizando cambios en el grupo de categorías en diferentes condiciones.
  • Paso 3. Vaya a la línea de comandos y active el caché: php bin/magento cache: enable
  • Paso 4. Ejecute el comando php bin/magento index:reindex
  • Paso 5. Activar Usar producto de catálogo plano y/o Usar categoría de catálogo plano

Ahora su tienda está lista para probar con el catálogo plano de Magento 2.

Para coronarlo todo

Magento es un sistema productivo y flexible. Bueno, alberga numerosas dificultades, secretos y sutilezas, pero a medida que los aprende gradualmente, podrá convertir su sistema y sus tiendas en un impresionante unicornio de cuento de hadas que camina a la velocidad de un guepardo. ¡Y este hermoso unicornio te traerá una rica ganancia monetaria!