ACSD-68040: la página de búsqueda de front-end ralentiza MariaDB 10.6 con un historial grande
El parche ACSD-68040 corrige el problema en el que la página de búsqueda de front-end experimenta una degradación significativa del rendimiento al ejecutarse en MariaDB 10.6 con un gran volumen de solicitudes de búsqueda históricas. Esta revisión está disponible cuando está instalado Quality Patches Tool (QPT) 1.1.72. El ID del parche es ACSD-68040.
Productos y versiones afectados
El parche se ha creado para la versión de Adobe Commerce:
- Adobe Commerce (todos los métodos de implementación) 2.4.6-p12
Compatible con versiones de Adobe Commerce:
- Adobe Commerce (todos los métodos de implementación) 2.4.4 - 2.4.6-p12
magento/quality-patches a la última versión y compruebe la compatibilidad en la página Quality Patches Tool: buscar parches . Utilice el ID de parche como palabra clave de búsqueda para localizar el parche.Problema
La página de búsqueda de front-end disminuye significativamente en MariaDB 10.6 al procesar un gran volumen de solicitudes de búsqueda históricas. Una consulta en la tabla search_query tarda hasta 13 segundos en MariaDB 10.6, en comparación con menos de 0,5 segundos en MariaDB 11.4.
Pasos a seguir:
-
Instale una instancia limpia con MariaDB 10.6 para realizar pruebas.
-
Rellene la tabla
search_querycon 2 millones de entradas. -
Ejecute la siguiente consulta SQL:
code language-none SELECT COUNT(*) FROM ( SELECT `main_table`.`query_text` FROM `search_query` AS `main_table` WHERE (main_table.store_id IN (1)) AND (main_table.num_results > 0) ORDER BY `main_table`.`popularity` DESC LIMIT 100 ) AS `result` WHERE (result.query_text = 'seed_q_0000009'); -
Observe que la consulta tarda aproximadamente 13 segundos en completarse.
-
Actualice la base de datos a MariaDB 11.4.
-
Vuelva a ejecutar la misma consulta SQL:
code language-none SELECT COUNT(*) FROM ( SELECT `main_table`.`query_text` FROM `search_query` AS `main_table` WHERE (main_table.store_id IN (1)) AND (main_table.num_results > 0) ORDER BY `main_table`.`popularity` DESC LIMIT 100 ) AS `result` WHERE (result.query_text = 'seed_q_0000009'); -
Observe que la consulta ahora se completa en aproximadamente 0,4-0,5 segundos.
Resultados esperados:
La estructura de la tabla o la consulta debe optimizarse para garantizar un tiempo de ejecución mínimo, independientemente de la versión de MariaDB.
Resultados reales:
La consulta tarda aproximadamente 13-15 segundos en MariaDB 10.6 y 0.4-0.5 segundos en MariaDB 11.4.
Aplicar el parche
Para aplicar parches individuales, utilice los siguientes vínculos según el método de implementación:
- Adobe Commerce o Magento Open Source local: Quality Patches Tool > Uso en la guía Quality Patches Tool.
- Adobe Commerce en la infraestructura de la nube: Actualizaciones y parches > Aplicar parches en la guía Commerce en la infraestructura de la nube.
Lectura relacionada
Para obtener más información sobre Quality Patches Tool, consulte:
- Quality Patches Tool: herramienta de autoservicio para parches de calidad en la guía Herramientas.