[Nur PaaS]{class="badge informative" title="Gilt nur für Adobe Commerce in Cloud-Projekten (von Adobe verwaltete PaaS-Infrastruktur) und lokale Projekte."}

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
NOTE
Der Patch könnte mit neuen Quality Patches Tool-Versionen auch für andere Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das 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:

  1. Installieren Sie zu Testzwecken eine neue Instanz von MariaDB 10.6.

  2. Füllen Sie die search_query mit 2 Millionen Einträgen.

  3. 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');
    
  4. Beachten Sie, dass der Abschluss der Abfrage etwa 13 Sekunden dauert.

  5. Aktualisieren Sie die Datenbank auf MariaDB 11.4.

  6. 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');
    
  7. 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:

Verwandtes Lesen

Weitere Informationen zu Quality Patches Tool finden Sie unter:

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