ACSD-62577: optimalisatie van de zoekprestaties van Storefront

De markering ACSD-62577 verhelpt de kwestie met langzame prestaties van storefront onderzoeksvragen door zowel vraag als lijstindexen te optimaliseren. Deze patch is beschikbaar bij Quality Patches Tool (QPT) 1.1.56. De patch-id is ACSD-62577. De kwestie zou volgens de planning in Adobe Commerce 2.4.8 worden opgelost.

Betrokken producten en versies

het flard wordt gecreeerd voor de versie van Adobe Commerce:

Adobe Commerce (alle implementatiemethoden) 2.4.6, 2.4.7-p2

Compatibel met de versies van Adobe Commerce:

Adobe Commerce (alle implementatiemethoden) 2.4.4 - 2.4.7-p3

NOTE
De patch kan van toepassing worden op andere versies met nieuwe Quality Patches Tool versies. Om te controleren of de patch compatibel is met uw Adobe Commerce-versie, werkt u het 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

Grote search_query -tabellen vertragen de zoekacties in de winkeliers aanzienlijk, waardoor de responstijden aan de voorzijde toenemen als gevolg van inefficiƫnte query's en het ontbreken van geoptimaliseerde tabelindexen.

Stappen om te reproduceren:

  1. Stel Adobe Commerce Developer in met de prestatietoolset small.xml .

  2. Open de SQL-opdrachtregel en verwijder de tabel search_query met de volgende opdrachten:

    code language-none
    SET FOREIGN_KEY_CHECKS = 0;
    DROP TABLE search_query;
    SET FOREIGN_KEY_CHECKS = 1;
    
  3. Vul de tabel search_query met een groot aantal records, bijvoorbeeld 4 miljoen records.

  4. Trigger opnieuw indexeren en spoelcache.

    code language-none
    bin/magento indexer:reindex
    bin/magento c:c
    bin/magento c:f
    
  5. Logboeken voor foutopsporing in database inschakelen:

    code language-none
    bin/magento dev:query-log:enable
    
  6. Een term zoeken in de zoekbalk van de winkel, bijvoorbeeld
    http://your_magento_instance/default/catalogsearch/result/?q=test.

  7. Controleer db.log voor de tijd van de vraaguitvoering voor volgende SQL:

    code language-none
    SELECT COUNT(*) FROM (
    SELECT DISTINCT `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 = 'test')
    

Verwachte resultaten :

De uitvoeringstijd van de query is geoptimaliseerd, wat resulteert in een minder significante toename van de responstijd bij het verwerken van grote search_query -tabellen.

Ware resultaten :

De uitvoeringstijd van de query neemt aanzienlijk toe als gevolg van een inefficiƫnte afhandeling van de grote search_query -tabel:

TIME: 10.8520 seconds

De patch toepassen

Om individuele flarden toe te passen, gebruik de volgende verbindingen afhankelijk van uw plaatsingsmethode:

Gerelateerde lezing

Meer informatie over Quality Patches Tool vindt u in:

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