ACSD-68040: Frontend-Suchseite verlangsamt sich auf MariaDB 10.6 mit großem Verlauf
Mit dem Patch ACSD-68040 wird das Problem behoben, dass die Frontend-Suchseite erhebliche Leistungseinbußen erleidet, wenn sie auf MariaDB 10.6 mit einer großen Anzahl historischer Suchanfragen ausgeführt wird. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.72 installiert ist. Die Patch-ID ist ACSD-68040.
Betroffene Produkte und Versionen
Der Patch wird für die Adobe Commerce-Version erstellt:
- Adobe Commerce (alle Bereitstellungsmethoden) 2.4.6-p12
Kompatibel mit Adobe Commerce-Versionen:
- Adobe Commerce (alle Bereitstellungsmethoden) 2.4.4 - 2.4.6-p12
magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Nach Patches suchen. Verwenden Sie die Patch-ID als Suchbegriff, um den Patch zu finden.Problem
Die Frontend-Suchseite verlangsamt sich auf MariaDB 10.6 erheblich, wenn eine große Anzahl historischer Suchanfragen verarbeitet wird. Eine Abfrage in der search_query-Tabelle dauert bei MariaDB 10.6 bis zu 13 Sekunden, verglichen mit weniger als 0,5 Sekunden bei MariaDB 11.4.
Schritte zur Reproduktion:
-
Installieren Sie zu Testzwecken eine neue Instanz von MariaDB 10.6.
-
Füllen Sie die
search_querymit 2 Millionen Einträgen. -
Führen Sie die folgende SQL-Abfrage aus:
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'); -
Beachten Sie, dass der Abschluss der Abfrage etwa 13 Sekunden dauert.
-
Aktualisieren Sie die Datenbank auf MariaDB 11.4.
-
Führen Sie dieselbe SQL-Abfrage erneut aus:
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'); -
Beachten Sie, dass die Abfrage jetzt in etwa 0,4-0,5 Sekunden abgeschlossen wird.
Erwartete Ergebnisse:
Die Abfrage- oder Tabellenstruktur sollte optimiert werden, um unabhängig von der MariaDB-Version eine minimale Ausführungszeit sicherzustellen.
Tatsächliche Ergebnisse:
Die Abfrage dauert bei MariaDB 10.6 etwa 13-15 Sekunden und bei MariaDB 11.4 etwa 0,4-0,5 Sekunden.
Patch anwenden
Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:
- Adobe Commerce oder Magento Open Source On-Premise: Quality Patches Tool > Nutzung im Quality Patches Tool.
- Adobe Commerce in Cloud-Infrastruktur: Upgrades und Patches > Patches anwenden im Handbuch zu Commerce in Cloud-Infrastruktur.
Verwandtes Lesen
Weitere Informationen zu Quality Patches Tool finden Sie unter:
- Quality Patches Tool: Ein Self-Service-Tool für hochwertige Patches im Tools-Handbuch.