Fehlerbehebung bei der Datenbankspeicherung in Adobe Commerce

Dieser Artikel enthält eine schrittweise Anleitung zur Fehlerbehebung bei der Diagnose und Behebung von Datenbankspeicherproblemen in Adobe Commerce. Dies hilft bei der Identifizierung der Grundursachen, die mit einem Mangel an Speicherplatz in /tmp und /data/mysql, einer Erschöpfung des Inodes und Konfigurationsänderungen wie etwa dem nicht standardmäßigen MySQL-tmpdir zusammenhängen. Jeder Schritt enthält eine Diagnosefrage und leitet Sie je nach Antwort zu relevanten Befehlen, Protokollen oder Dokumentationen weiter.

Beschreibung description

Umgebung

Adobe Commerce auf Cloud-Infrastruktur

Problem/Symptome

  • Standortausfall oder Ausfallzeiten aufgrund von Problemen mit dem Datenbankspeicher
  • Fehler wie Kein Platz auf dem Gerät übrig (28)
  • SSH kann wegen vollständiger /tmp nicht in einen Knoten eingefügt werden
  • Hohe Festplattenauslastung in /tmp- oder /data/mysql
  • Kunden können keine Produkte zum Warenkorb hinzufügen
  • Datenbank-Verbindungsfehler
  • Galera-Cluster-Fehler wie SQLSTATE[ 08S01] : Kommunikationsverbindungsfehler: 1047 WSREP
  • Abfragen erschöpfen den verfügbaren Speicher und verursachen Knotenabstürze
  • Inode-Erschöpfung (zu viele Dateien) wird durch IUse% > 90% angezeigt

Lösung resolution

Schritt 1: Identifizieren des Ordners mit einem Leerzeichen-Problem

Haben Sie ein /tmp Problem, das durch Platzmangel verursacht wurde?

Dies kann durch eine Reihe von Symptomen angezeigt sein, darunter:

  • /tmp voll
  • Ausfall oder Ausfall der Site
  • SSH kann nicht in einen Knoten eingefügt werden
  • Fehler wie Kein Platz auf dem Gerät übrig (28)

Eine Liste der Fehler, die sich daraus ergeben, dass /tmp voll ist, finden Sie unter /tmp mount full.

Oder haben Sie ein /data/mysql Problem, das durch Platzmangel verursacht wurde? Zu den Symptomen gehören:

  • Site-Ausfall
  • Kunden können keine Produkte zum Warenkorb hinzufügen
  • Datenbank-Verbindungsfehler
  • Galera-Fehler wie SQLSTATE[ 08S01] : Kommunikationsverbindungsfehler: 1047 WSREP

Eine Liste mit Fehlern, die aus zu wenig MySQL-Speicherplatz resultieren, finden Sie unter MySQL-Speicherplatz ist auf Adobe Commerce in der Cloud-Infrastruktur niedrig.

Wenn Sie sich nicht sicher sind, ob Sie ein Speicherplatzproblem haben und ein New Relic-Konto haben, gehen Sie zur Seite Hosts für die Überwachung der New Relic-Infrastruktur. Von dort aus:

  • Klicken Sie auf die Registerkarte Datenspeicherung
  • Ändern Sie die DropdownListe „Diagramm " von 5 auf 20 Ergebnisse
  • Suchen Sie in der Tabelle nach der hohen Festplattenauslastung im Diagramm oder in der Tabelle Verwendete Festplatten % .

Detailliertere Anweisungen finden Sie auf der Registerkarte New Relic-Infrastrukturüberwachung > -Speicher.

Wenn eines der oben beschriebenen Symptome bei Ihnen auftritt, überprüfen Sie den Status Ihrer Inodes, um sicherzustellen, dass dies nicht durch ein Problem mit der Dateinummer verursacht wird. Führen Sie im CLI/Terminal aus:

code language-none
df -ih

Ist IUse% > 90%?

Fahren Sie dann mit Schritt 3 fort.

Schritt 2: Überprüfen Sie den Festplattenspeicher.

Überprüfen Sie die Speicherplatznutzung?

Nachdem Sie die Anzahl der Dateien reduziert haben, führen Sie den folgenden Befehl in der CLI/Terminal aus, um die Speicherplatznutzung in /tmp und /data/mysql zu überprüfen.

code language-none
df -h | grep mysql
df -h | grep tmp

Werden für /tmp oder /data/mysql mehr als 70 % verwendet?

  • JA - Mit Schritt 3 fortfahren.

  • NEIN - Abfragen können den verfügbaren Speicher erschöpfend machen. Dies könnte den Knoten zum Absturz bringen, die Abfrage beenden und die tmp Dateien entfernen. Melden Sie sich beim MySQL-Befehlszeilen-Client an und führen Sie Folgendes aus:

    code language-none
    SHOW PROCESSLIST;
    

Untersuchen Sie die Ausgabe auf problematische Abfragen. Wenn keine Lösung gefunden wurde​ reichen Sie ein Support-Ticket ein, ​ mehr Speicherplatz anzufordern.

Schritt 3: Identifizieren des Ordners mit hoher Nutzung

Welches Verzeichnis wird zu mehr als 70 % verwendet?
  • /tmp - Mit Schritt 4 fortfahren.
  • /data/mysql - Mit Schritt 5 fortfahren.

Hinweis Standardmäßig schreibt Datenbank-tmpdir in /tmp. Um Ihre Datenbankkonfiguration zu überprüfen, melden Sie sich beim MySQL-Befehlszeilen-Client an und führen Sie Folgendes aus:

code language-none
SHOW VARIABLES LIKE "TMPDIR";

Wenn tmpdir weiterhin in /tmp schreibt, wird in der Spalte Wert /tmp angezeigt.

Schritt 4: Fehlerbehebung bei der vollständigen /tmp-Bereitstellung

Fehlerbehebung bei der /tmp-Bereitstellung vollständig

Befolgen Sie Fehlerbehebung bei /tmp-Bereitstellungen für Adobe Commerce. Führen Sie nach der Anwendung von Lösungen die folgenden Schritte in der CLI/Terminal aus:

code language-none
df -h | grep mysql
df -h | grep tmp

Ist die Nutzung < 70 %?

Hinweis: Die Lösungen in Fehlerbehebung /tmp mount full sind für Händler konzipiert, die die Variablen für die Datenbank tmpdir, die standardmäßig in /tmp schreibt, nicht geändert haben. Wenn Sie den tmpdir-Wert geändert haben, helfen die Anweisungen unter Fehlerbehebung bei /tmp-Bereitstellungen ​.

Schritt 5 - Standard überprüfen

Standard überprüfen

Die Datenbankkonfiguration befindet sich möglicherweise nicht mehr auf dem ursprünglichen Standardwert. Suchen Sie die Datenbank-tmpdir-Konfiguration, indem Sie im MySQL-Befehlszeilen-Client ausführen: SELECT @@DATADIR;

Wenn /data/mysql/ ausgegeben wird, schreibt tmpdir in /data/mysql/. Erhöhen Sie den Speicherplatz, indem Sie die Schritte unter MySQL-Speicherplatz ist auf Adobe Commerce in der Cloud-Infrastruktur zu niedrig befolgen. Führen Sie dann im CLI/Terminal aus:

code language-none
df -h | grep mysql
df -h | grep tmp

Ist die Nutzung < 70 %?

Verwandtes Lesen

Best Practices zum Ändern von Datenbanktabellen im Commerce Implementation Playbook.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f