Adobe Commerce : les requêtes MySQL bloquées à l’état « En attente de certification » entraînent des problèmes de performances

L’état En attente de certification dans MySQL fait partie du processus de validation en deux phases utilisé dans les clusters basés sur Galera qui alimentent Adobe Commerce. Ce mécanisme permet de s’assurer qu’il n’y a aucun conflit dans la base de données chaque fois qu’une transaction est envoyée. Bien que de brèves manifestations de cet état soient normales, des durées prolongées indiquent des goulots d’étranglement au niveau des performances. Ces retards peuvent être dus à des requêtes longues, à des conflits importants ou à des problèmes d’infrastructure.

Pour corriger ce problème, analysez les requêtes lentes, gérez le vidage du cache, implémentez les recommandations SWAT et optimisez les statistiques de la base de données.

Description description

Environnement

  • Produit : Adobe Commerce
  • Type de cluster de base de données : MySQL basé sur Galera

Problème/Symptômes

Dégradation des performances causée par un grand nombre de requêtes MySQL bloquées à l’état En attente de certification . Les symptômes incluent :

  • Visibilité du produit retardée dans le panier.
  • Exécution lente des requêtes.
  • Fichiers journaux de requêtes lentes volumineux.
  • Les vidages du cache coïncident avec les heures d’utilisation maximale.

Résolution resolution

Pour résoudre le problème :

  1. Examinez les journaux de requêtes lentes MySQL pour identifier les requêtes à exécution longue. Si la taille du fichier journal s’élève à plusieurs centaines de mégaoctets, cela indique un problème grave. Optimisez les requêtes problématiques pour réduire les goulets d’étranglement et améliorer les performances globales. Pour plus d’informations, consultez la section Vérification des requêtes lentes et des processus MySQL de la documentation de la base de connaissances Commerce.

  2. Planifiez le vidage du cache en dehors des heures de pointe, par exemple tard dans la nuit ou tôt le matin. Cela permet d’éviter une charge accrue du système pendant les périodes de forte demande et d’éviter une dégradation des performances. Pour plus d’informations, consultez la documentation Gérer le cache dans le Guide de configuration de Commerce.

  3. Mettre en œuvre les recommandations du rapport SWAT. Ces actions peuvent inclure l’ajout de clés primaires manquantes aux tableaux et la minimisation de l’utilisation des déclencheurs, toutes deux pouvant réduire les conflits et améliorer la vitesse de certification. Pour en savoir plus sur l’outil d’analyse à l’échelle du site consultez la documentation sur les outils Commerce.

  4. Remarque : cette opération peut verrouiller temporairement des tables. Exécutez-le en dehors des heures de bureau et assurez-vous que les tâches cron sont désactivées pour éviter toute interruption.

    Exécutez mysqlcheck avec l’analyse des tables pour vous assurer que les statistiques de la base de données sont à jour :

    code language-none
    mysqlcheck -h<host_name> -u<user_name> -p -a <db_name>
    
  5. Vérifiez que les statistiques des tableaux sont à jour. Des statistiques obsolètes peuvent conduire à des plans d’exécution de requête inefficaces, qui dégradent à leur tour les performances dans le cluster.

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