ACSD-68040: De voorste zoekpagina wordt MariaDB 10.6 met grote historie langzamer
De ACSD-68040-patch verhelpt het probleem waarbij de voorste zoekpagina een aanzienlijke verslechtering van de prestaties ondervindt wanneer deze op MariaDB 10.6 wordt uitgevoerd met een groot aantal historische zoekverzoeken. Deze patch is beschikbaar wanneer Quality Patches Tool (QPT) 1.1.72 wordt geïnstalleerd. De patch-id is ACSD-68040.
Betrokken producten en versies
het flard wordt gecreeerd voor de versie van Adobe Commerce:
- Adobe Commerce (alle implementatiemethoden) 2.4.6-p12
Compatibel met de versies van Adobe Commerce:
- Adobe Commerce (alle implementatiemethoden) 2.4.4 - 2.4.6-p12
magento/quality-patches -pakket bij naar de meest recente versie en controleert u de compatibiliteit op de Quality Patches Tool : zoek naar patches op de pagina . Gebruik de patch-id als een zoekwoord om de patch te zoeken.Probleem
De zoekpagina aan de voorzijde vertraagt aanzienlijk op MariaDB 10.6 bij het verwerken van een groot aantal historische zoekverzoeken. Een query voor de search_query -tabel duurt maximaal 13 seconden op MariaDB 10.6, vergeleken met minder dan 0,5 seconden op MariaDB 11.4.
Stappen om te reproduceren:
-
Installeer een schone instantie met MariaDB 10.6 voor testdoeleinden.
-
Vul de tabel
search_querymet 2 miljoen items. -
Voer de volgende SQL-query uit:
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'); -
Merk op dat de vraag ongeveer 13 seconden vergt om te voltooien.
-
Voer een upgrade van de database uit naar MariaDB 11.4.
-
Voer dezelfde SQL-query opnieuw uit:
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'); -
Merk op dat de vraag nu in ongeveer 0.4-0.5 seconden voltooit.
Verwachte resultaten :
De vraag of lijststructuur zou moeten worden geoptimaliseerd om minimale uitvoeringstijd, ongeacht de versie MariaDB te verzekeren.
Ware resultaten :
De query duurt ongeveer 13-15 seconden op MariaDB 10.6 en 0.4-0.5 seconden op MariaDB 11.4.
De patch toepassen
Om individuele flarden toe te passen, gebruik de volgende verbindingen afhankelijk van uw plaatsingsmethode:
- Op locatie Adobe Commerce of Magento Open Source: Quality Patches Tool > Gebruik in de handleiding Quality Patches Tool .
- Adobe Commerce op wolkeninfrastructuur: Verbeteringen en Patches > Pas Patches in Commerce op de gids van de Infrastructuur van de Wolk toe.
Gerelateerde lezing
Meer informatie over Quality Patches Tool vindt u in:
- Quality Patches Tool: Een zelfbedieningshulpmiddel voor kwaliteitspatches in de gids van Hulpmiddelen.