[Solo PaaS]{class="badge informative" title="Se aplica solo a proyectos de Adobe Commerce en la nube (infraestructura PaaS administrada por Adobe) y a proyectos locales."}

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
NOTE
El parche podría ser aplicable a otras versiones con las nuevas versiones de Quality Patches Tool. Para comprobar si el parche es compatible con su versión de Adobe Commerce, actualice el paquete 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:

  1. Instale una instancia limpia con MariaDB 10.6 para realizar pruebas.

  2. Rellene la tabla search_query con 2 millones de entradas.

  3. 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');
    
  4. Observe que la consulta tarda aproximadamente 13 segundos en completarse.

  5. Actualice la base de datos a MariaDB 11.4.

  6. 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');
    
  7. 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:

Lectura relacionada

Para obtener más información sobre Quality Patches Tool, consulte:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3