[Somente PaaS]{class="badge informative" title="Aplica-se somente a projetos do Adobe Commerce na nuvem (infraestrutura do PaaS gerenciada pela Adobe) e a projetos locais."}

ACSD-68040: a página de pesquisa de front-end desacelera em MariaDB 10.6 com um grande histórico

O patch ACSD-68040 corrige o problema em que a página de pesquisa de front-end sofre uma degradação significativa de desempenho ao ser executada em MariaDB 10.6 com um grande volume de solicitações de pesquisa históricas. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.72 está instalado. A ID do patch é ACSD-68040.

Produtos e versões afetados

O patch foi criado para a versão do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.6-p12

Compatível com as versões do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.4 - 2.4.6-p12
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões do Quality Patches Tool. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.

Problema

A página de pesquisa de front-end fica muito lenta no MariaDB 10.6 ao processar um alto volume de solicitações de pesquisa históricas. Uma consulta na tabela search_query leva até 13 segundos em MariaDB 10.6, em comparação a menos de 0,5 segundos em MariaDB 11.4.

Etapas a serem reproduzidas:

  1. Instale uma instância limpa com o MariaDB 10.6 para fins de teste.

  2. Preencha a tabela search_query com 2 milhões de entradas.

  3. Execute a seguinte 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 a consulta leva aproximadamente 13 segundos para ser concluída.

  5. Atualizar o banco de dados para MariaDB 11.4.

  6. Reexecutar a mesma 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 a consulta agora é concluída em aproximadamente 0,4 a 0,5 segundos.

Resultados esperados:

A estrutura da consulta ou tabela deve ser otimizada para garantir um tempo de execução mínimo, independentemente da versão do MariaDB.

Resultados reais:

O query leva aproximadamente de 13 a 15 segundos no MariaDB 10.6 e 0.4 a 0.5 segundos no MariaDB 11.4.

Aplicar o patch

Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:

Leitura relacionada

Para saber mais sobre Quality Patches Tool, consulte:

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