Best Practices für die Datenbankkonfiguration

Erfahren Sie mehr über Best Practices zur Verbesserung der Datenbankleistung und zur effizienten Verwendung der Datenbank bei der Bereitstellung von Adobe Commerce in der Cloud-Infrastruktur.

Betroffene Produkte

Adobe Commerce auf Cloud-Infrastruktur

Alle MyISAM-Tabellen in InnoDB konvertieren

Adobe empfiehlt die Verwendung der InnoDB-Datenbank-Engine. Bei einer standardmäßigen Adobe Commerce-Installation werden alle Datenbanktabellen mithilfe der InnoDB-Engine gespeichert. Einige Module von Drittanbietern (Erweiterungen) können jedoch Tabellen im MyISAM-Format einführen. Überprüfen Sie nach der Installation eines Drittanbietermoduls die Datenbank, um Tabellen im Format myisam zu identifizieren und sie in das Format innodb zu konvertieren.

Bestimmen, ob ein Modul MyISAM-Tabellen enthält

Sie können den Drittanbieter-Modulcode vor der Installation analysieren, um festzustellen, ob MyISAM-Tabellen verwendet werden.

Wenn Sie bereits eine Erweiterung installiert haben, führen Sie die folgende Abfrage aus, um zu ermitteln, ob die Datenbank über MyISAM-Tabellen verfügt:

SELECT table_schema, CONCAT(ROUND((index_length+data_length)/1024/1024),'MB')
    AS total_size FROM information_schema. TABLES WHERE engine='myisam' AND table_schema
    NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys');

Ändern Sie die Speicher-Engine in InnoDB

Setzen Sie in der Datei db_schema.xml , die die Tabelle deklariert, den Attributwert engine für den entsprechenden Knoten table auf innodb. Weitere Informationen finden Sie unter Konfigurieren des deklarativen Schemas > Tabellenknoten in unserer Entwicklerdokumentation.

Das deklarative Schema wurde in Adobe Commerce in der Cloud-Infrastruktur-Version 2.3 eingeführt.

Die empfohlene Suchmaschine für die native MySQL-Suche konfigurieren

Adobe empfiehlt, immer Elasticsearch oder OpenSearch für Ihr Adobe Commerce-Projekt in der Cloud-Infrastruktur einzurichten, selbst wenn Sie ein Suchwerkzeug eines Drittanbieters für Ihre Adobe Commerce-Anwendung konfigurieren möchten. Diese Konfiguration bietet eine Fallback-Option für den Fall, dass das Suchtool eines Drittanbieters fehlschlägt.

Die von Ihnen verwendete Suchmaschine hängt von der installierten Adobe Commerce-Cloud-Version ab:

  • Verwenden Sie für Adobe Commerce 2.4.4 und höher den OpenSearch-Dienst für die native MySQL-Suche.

  • Verwenden Sie für frühere Adobe Commerce-Versionen Elasticsearch.

Führen Sie den folgenden Befehl aus, um zu bestimmen, welche Suchmaschine derzeit verwendet wird:

./bin/magento config:show catalog/search/engine

Konfigurationsanweisungen finden Sie im Entwicklerhandbuch für Adobe Commerce in Cloud:

Vermeiden benutzerdefinierter Trigger

Vermeiden Sie nach Möglichkeit die Verwendung von benutzerdefinierten Triggern.

Trigger werden verwendet, um Änderungen in Audit-Tabellen zu protokollieren. Adobe empfiehlt, das Programm so zu konfigurieren, dass es direkt in die Prüftabellen geschrieben wird, anstatt die Trigger-Funktion aus diesen Gründen zu verwenden:

  • Trigger werden als Code interpretiert und MySQL stellt sie nicht vorkompiliert. Wenn Sie sich auf die Transaktionsplatzierung Ihrer Abfrage konzentrieren, wird der Mehraufwand für jede mit der Tabelle ausgeführte Abfrage zu einem Parser und Interpreter hinzugefügt.
  • Die Trigger teilen sich denselben Transaktionsraum wie die ursprünglichen Abfragen. Während diese Abfragen um Sperren in der Tabelle konkurrieren, konkurrieren die Trigger unabhängig voneinander mit Sperren in einer anderen Tabelle.

Weitere Informationen zu Alternativen zur Verwendung benutzerdefinierter Trigger finden Sie unter MySQL-Trigger.

Upgrade von ECE-Tools auf Version 2002.0.21 oder höher ece-tools-version

Um potenzielle Probleme mit Cron-Deadlocks zu vermeiden, aktualisieren Sie ECE-Tools auf Version 2002.0.21 oder höher. Anweisungen finden Sie unter Aktualisieren von ece-tools Version in unserer Entwicklerdokumentation.

Indexmodus sicher wechseln

Beim Wechseln von Indexern werden data definition language (DDL)-Anweisungen generiert, um Trigger zu erstellen, die Datenbanksperren verursachen können. Sie können dieses Problem verhindern, indem Sie Ihre Website in den Wartungsmodus versetzen und Cron-Aufträge deaktivieren, bevor Sie die Konfiguration ändern.
Anweisungen finden Sie unter Konfigurieren von Indexern im Adobe Commerce-Konfigurationshandbuch.

Führen Sie keine DDL-Anweisungen in der Produktion aus

Vermeiden Sie das Ausführen von DDL-Anweisungen in der Produktionsumgebung, um Konflikte (wie Tabellenänderungen und -erstellungen) zu vermeiden. Der setup:upgrade -Prozess ist eine Ausnahme.

Wenn Sie eine DDL-Anweisung ausführen müssen, stellen Sie die Website in den Wartungsmodus und deaktivieren Sie Cron (siehe Anweisungen zum sicheren Wechsel von Indizes im vorherigen Abschnitt).

Bestellarchivierung aktivieren

Aktivieren Sie die Bestellarchivierung über den Administrator, um den für Verkaufstabellen erforderlichen Speicherplatz zu reduzieren, wenn Ihre Bestelldaten zunehmen. Durch die Archivierung wird MySQL-Speicherplatz gespart und die Checkout-Leistung verbessert.

Siehe Aktivieren der Archivierung in der Adobe Commerce Merchant-Dokumentation.

Weitere Informationen

recommendation-more-help
754cbbf3-3a3c-4af3-b6ce-9d34390f3a60