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
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:
-
Instale uma instância limpa com o MariaDB 10.6 para fins de teste.
-
Preencha a tabela
search_querycom 2 milhões de entradas. -
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'); -
Observe que a consulta leva aproximadamente 13 segundos para ser concluída.
-
Atualizar o banco de dados para MariaDB 11.4.
-
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'); -
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:
- Adobe Commerce ou Magento Open Source local: Quality Patches Tool > Uso no guia Quality Patches Tool.
- Adobe Commerce na infraestrutura em nuvem: Atualizações e patches > Aplicar patches no guia do Commerce na infraestrutura em nuvem.
Leitura relacionada
Para saber mais sobre Quality Patches Tool, consulte:
- Quality Patches Tool: uma ferramenta de autoatendimento para patches de qualidade no guia Ferramentas.