Résolution des problèmes de stockage de la base de données sur Adobe Commerce

Cet article fournit un guide de dépannage détaillé pour diagnostiquer et résoudre les problèmes de stockage de la base de données sur Adobe Commerce. Il permet d’identifier les causes profondes liées au manque d’espace dans /tmp et /data/mysql, à l’épuisement des inodes et aux modifications de configuration telles que tmpdir MySQL non par défaut. Chaque étape présente une question de diagnostic et vous dirige vers des commandes, des journaux ou de la documentation pertinents en fonction de votre réponse.

Description description

Environnement

Adobe Commerce sur les infrastructures cloud

Problème/Symptômes

  • Panne ou temps d’arrêt du site causé par des problèmes de stockage dans la base de données
  • Erreurs telles que pas d'espace restant sur l'appareil (28)
  • Impossible d’effectuer un SSH dans un nœud en raison du montage /tmp complet.
  • Utilisation élevée du disque dans les répertoires /tmp ou /data/mysql
  • Clients ne pouvant pas ajouter de produits au panier
  • Échecs de connexion à la base de données
  • Erreurs de cluster de galera telles que SQLSTATE[ 08S01] : échec de la liaison de communication : 1047 WSREP
  • Les requêtes épuisent le stockage disponible et provoquent des blocages de nœud
  • Épuisement de l’inode (trop de fichiers) indiqué par IUse% > 90%

Résolution resolution

Étape 1 : identifier le répertoire présentant un problème d’espace

Avez-vous un problème de /tmp dû à un manque d<>espace ?

Cela peut être indiqué par divers symptômes, notamment :

  • /tmp le montage étant plein
  • Panne ou panne du site
  • Impossible d’effectuer un SSH dans un nœud
  • Erreurs comme Il ne reste plus d'espace sur l'appareil (28)

Pour obtenir la liste des erreurs résultant du remplissage de /tmp, consultez Montage /tmp complet.

Ou avez-vous un problème de /data/mysql causé par un manque d'espace ? Les symptômes incluent :

  • Panne du site
  • Clients ne pouvant pas ajouter de produits au panier
  • Échec de connexion à la base de données
  • Erreurs de galera telles que SQLSTATE[ 08S01] : échec du lien de communication : 1047 WSREP

Pour obtenir la liste des erreurs résultant d’un espace disque MySQL faible, reportez-vous à la section L’espace disque MySQL est faible sur Adobe Commerce sur l’infrastructure cloud.

Si vous ne savez pas si vous rencontrez un problème d’espace disque et que vous disposez d’un compte New Relic, accédez à la page Hôtes de surveillance de l’infrastructure New Relic. De là :

  • Cliquez sur l’onglet Stockage
  • Remplacez la liste déroulante Graphique à afficher de 5 à 20 résultats
  • Recherchez dans le tableau une utilisation élevée du disque dans le graphique ou le tableau % disque utilisé

Pour obtenir des instructions plus détaillées, consultez la section Surveillance de l’infrastructure New Relic > l’onglet Stockage.

Si vous ressentez l’un des symptômes décrits ci-dessus, vérifiez l’état de vos nœuds pour vous assurer que cela n’est pas dû à un problème de numéro de fichier. Exécutez dans l’interface de ligne de commande/le terminal :

code language-none
df -ih

UIse% > 90% ?

Passez ensuite à l’étape 3.

Étape 2 - Vérification de l’espace disque

Vérifier l’utilisation de l’espace disque ?

Après avoir réduit le nombre de fichiers, exécutez la commande suivante dans l’interface de ligne de commande/Terminal pour vérifier l’utilisation de l’espace disque dans /tmp et /data/mysql.

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

Utilise-t-on plus de 70 % pour les /tmp ou les /data/mysql ?

  • OUI - Passez à l’étape 3.

  • NON - Les requêtes peuvent épuiser le stockage disponible. Cela pourrait bloquer le nœud, tuant la requête et supprimant les fichiers tmp. Connectez-vous au client de ligne de commande MySQL et exécutez :

    code language-none
    SHOW PROCESSLIST;
    

Examinez la sortie pour détecter les requêtes problématiques. En cas d’absence de résolution, envoyez un ticket d’assistance demandant plus d’espace.

Étape 3 - Identification du répertoire à utilisation élevée

Quel répertoire a été utilisé à plus de 70 % ?
  • /tmp - Passez à l’étape 4.
  • /data/mysql - Passez à l’étape 5.

Remarque : par défaut, la base de données tmpdir écrit dans /tmp. Pour vérifier la configuration de votre base de données, connectez-vous au client de ligne de commande MySQL et exécutez :

code language-none
SHOW VARIABLES LIKE "TMPDIR";

Si tmpdir écrit toujours sur /tmp, vous verrez /tmp dans la colonne Valeur
.

Étape 4 - Dépannage du montage /tmp complet

Résolution des problèmes liés au montage /tmp complet

Suivez Dépannage du montage /tmp complet pour Adobe Commerce. Après avoir appliqué les solutions, exécutez dans l’interface de ligne de commande/le terminal :

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

L’utilisation est-elle < 70 % ?

Remarque : les solutions de Dépannage du montage /tmp complet sont conçues pour les commerçants qui n’ont pas modifié les variables de la base de données tmpdir, qui écrit par défaut dans /tmp. Si vous avez modifié la valeur tmpdir, les instructions de la section Dépannage du montage /tmp complet n’aideront pas.

Étape 5 - Vérifier les valeurs par défaut

Vérifier par défaut

Il se peut que votre configuration de base de données ne soit plus à sa valeur par défaut d'origine. Recherchez la configuration tmpdir de la base de données en exécutant dans le client de ligne de commande MySQL : SELECT @@DATADIR;

Si /data/mysql/ est généré, tmpdir écrit dans /data/mysql/. Augmentez l’espace en suivant les étapes du L’espace disque MySQL est faible sur Adobe Commerce sur l’infrastructure cloud. Exécutez ensuite dans l’interface de ligne de commande/le terminal :

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

L’utilisation est-elle < 70 % ?

Lecture connexe

Bonnes pratiques relatives à la modification des tables de base de données dans le manuel Commerce Implementation Playbook .

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