[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Onglet MySQL

MySQL% free storage by node

Stockage libre MySQL% par nœud

De nombreux problèmes sont causés par le manque d'espace de stockage de MySQL dans le stockage affecté à MySQL (datadir paramètre de configuration MySQL, la valeur par défaut est /data/mysql) ou le manque d'espace de tmpdir. La tmpdir par défaut (paramètre MySQL) est /tmp. L’image MySQL% free storage by node examine le /, /tmp (s’il est défini comme un montage distinct) et le pourcentage /data/mysql de stockage libre. À partir de la version 5.7 de MySQL (MariaDB version 10.2), les tables tmp décompressées sont écrites dans un espace disque logique tmp dans le répertoire /data/mysql du fichier (ibtmp1). Ce fichier se développe automatiquement sans limite par défaut. Comme il s’agit d’un tablespace, sa taille ne diminuera pas et sera réinitialisée à 12 Mo lors du redémarrage de MySQL.

MySQL Connections by Node

Connexions MySQL par nœud

Le cadre MySQL Connections by Node indique les périodes de panne des nœuds de la base de données ou les volumes élevés de connexions.

MySQL Node Summary

Résumé du nœud MySQL

Le tableau MySQL Node Summary affiche les détails du nœud de base de données, tels que la version du logiciel et le type d’instance (taille).

Galera Number of Nodes in cluster

Nombre de galères de nœuds dans le cluster

Le cadre Galera Number of Nodes in cluster affiche des informations provenant des journaux MySQL. Lorsque les nœuds rejoignent et quittent un cluster, seuls les messages de la période sélectionnée s’affichent. Si un nœud quitte le cluster avant la période, aucun message n’existera pendant cette période. Si vous pensez que la base de données est à court d’un nœud, étendez le délai à une période plus longue pour voir si vous pouvez voir des informations supplémentaires. S’il existe des informations pendant la période qui indiquent un nombre inférieur à tous les nœuds du cluster Galera, développez le délai pour voir si vous pouvez déterminer quand le nœud a quitté le cluster.

MySQL shutdowns and starts

Arrêts et démarrages de MySQL

L’image MySQL shutdowns and starts détecte un arrêt d’un nœud. Les nœuds Galera seront évincés et s’évinceront automatiquement du nœud Galera. Cela entraîne généralement un redémarrage du service MySQL.

Galera log

Journal Galera

La trame Galera log affiche le nombre de signaux particuliers des logs MySQL concernant les nœuds Galera, leurs états et les changements d'état du cluster Galera.

  • '%1047 WSREP n'a pas encore préparé le nœud pour l'utilisation de l'application%') comme 'node_not_prep_for_use'
  • '%[ERROR] WSREP : échec de la lecture depuis : wsrep_sst_xtrabackup-v2%') en tant que 'xtrabackup_read_fail'
  • '%[ERROR] WSREP : processus terminé avec erreur : wsrep_sst_xtrabackup-v2 %') as 'xtrabackup_compl_w_err'
  • '%[ERROR] WSREP : échec d’écriture rbr%') as 'rbr_write_fail'
  • '%self-leave%') comme 'susp_node'
  • '%members = 3/3 (joint/total)%') as'3of3'
  • '%members = 2/3 (joint/total)%') as'2of3'
  • '%members = 2/2%') as '2of2'
  • '%members = 1/2%') as '1of2'
  • '%members = 1/3%') comme '1of3'
  • '%members = 1/1%') comme '1of1'
  • '%[Note] /usr/sbin/mysqld (mysqld 10.%') as'sql_restart'
  • '%Quorum : aucun nœud avec l'état complet :%') comme 'no_node_count'
  • '%WSREP: Member 0%') as 'mem_0'
  • '%WSREP: Member 1.0%') as 'mem_1'
  • '%WSREP: Member 2%') as'mem2'
  • '%WSREP : synchronisé avec le groupe, prêt pour les connexions%') comme 'prêt'
  • '%/usr/sbin/mysqld, Version:%') as 'mysql_restart_mysql.slow'
  • '%[Remarque] WSREP : nouvelle vue de cluster : état global :%') as 'galera_cluster_view_chng'

Galera Log by Host

Journal Galera par hôte

L’image Galera Log by Host est identique à l’image Galera log, à la différence qu’elle est divisée par nœud pour faciliter la résolution des problèmes.

Database performance

Performances de la base de données

Le cadre Database performance affiche les performances de la base de données lors de requêtes spécifiques. Pour afficher chaque mesure, cliquez dessus dans les icônes de couleur situées sous le graphique. La plupart des mesures répertoriées dans Surveillance des performances de la base de données MySQL avec New Relic se trouvent dans cet écran.

  • average(query.queriesPerSecond)
  • average(query.slowQueriesPerSecond)
  • average(db.createdTmpDiskTablesPerSecond)
  • average(db.createdTmpFilesPerSecond)
  • average(db.tablesLocksWaitedPerSecond)
  • average(db.innodb.rowLockTimeAvg)
  • average(db.innodb.rowLockWaitsPerSecond)

Transaction Database Call Count

Nombre d’appels de la base de données de transactions

Le cadre Transaction Database Call Count affiche le nombre d’appels à la base de données effectués par chaque facette de transaction. Cela semble être axé sur les lignes et non sur les déclarations.

Cron_schedule table updates

Mises à jour de la table Cron_schedule

Le cadre Cron_schedule table updates affiche la durée maximale des mises à jour de la base de données dans la table cron_schedule pour la période sélectionnée.

Slow Query Traces

Traces de requête lentes

Le cadre Slow Query Traces affiche la table et le type de requête où il existe des traces de requête lentes. Une trace de requête lente est créée pour les transactions de requête qui prennent plus de cinq secondes. Les requêtes de mise à jour sont importantes pour ce cadre. Si une table est mise à jour par des instructions UPDATE, DELETE et INSERT, elle peut être verrouillée pendant un certain temps.

Même les instructions SELECT peuvent verrouiller des lignes si elles sont utilisées avec FOR UPDATE.

Datastore Operations tables

Tables des opérations du magasin de données

Cron table change

Modification du tableau Cron

La trame Cron table change recherche les messages d'erreur « impossible d'acquérir le verrou pour la tâche cron : », ainsi qu'une erreur de mémoire PHP spécifique et des verrous impliquant la table cron_schedule. Si la table cron_schedule est verrouillée (par exemple, si une requête DELETE est exécutée sur celle-ci), cela empêchera l’exécution d’autres crons.

Deadlocks

Blocages

Le cadre Deadlocks examine les chaînes suivantes analysées à partir des journaux MySQL :

  • '%PHP Erreur fatale : taille de la mémoire autorisée de%') comme php_mem_error
  • '%get lock; essayez de redémarrer la transaction, la requête était : DELETE FROM `cron_schedule%') as cron_sched_lock_del`
  • '% lock pour le traitement cron : indexer_reindex_all_invalid%') as 'lock_indexer_reindex_all_invalid%'
  • '% lock pour le traitement cron : cron_schedule%') as 'lock_cron_schedule'
  • '% lock pour le traitement cron :%') as 'total_cron_lock'
  • « %Erreur générale : le délai d'attente du verrouillage 1205 a dépassé % ») en tant que « sql_1205_lock »
  • '%ERROR 1213 (40001) : interblocage détecté lors de la tentative d'obtention du verrou%') en tant que 'sql_1213_lock'
  • '%SQLSTATE[40001] : échec de sérialisation : 1213 blocage trouvé%') en tant que 'sql_1213_lock2'
  • '% lock pour cron job : indexer_update_all_views%') as 'lock_indexer_update_all_views'
  • '% lock pour le traitement cron : sales_grid_order_facture_async_insert%') as 'lock_sales_grid_order_facture_async_insert',
  • « % de verrouillage pour la tâche cron : staging_remove_updates% ») comme « lock_staging_remove_updates »
  • '% lock pour le traitement cron : sales_grid_order_shipping_async_insert%') as 'lock_sales_grid_order_shipping_async_insert'
  • '% lock pour le traitement cron : amazon_Payments_process_queued_refunds%') as 'lock_amazon_Payments_process_queued_refunds'
  • '% de verrouillage pour le traitement cron : sales_send_order_shipping_emails%') as 'lock_sales_send_order_shipping_emails'
  • '% de verrouillage pour le traitement cron : staging_synchronize_entities_period%') as 'lock_staging_synchronize_entities_period'
  • '% lock pour la tâche cron : indexer_clean_all_changelogs%') as 'lock_indexer_clean_all_changelogs'
  • '% lock pour le traitement cron : magento_targetrule_index_reindex%') as 'lock_magento_targetrule_index_reindex'
  • '% de verrouillage pour la tâche cron : newsletter_send_all%') as 'lock_newsletter_send_all'
  • '% de verrouillage pour la tâche cron : newsletter_send_all%') as 'lock_newsletter_send_all'
  • '% de verrouillage pour le traitement cron : sales_send_order_emails%') as 'lock_sales_send_order_emails'
  • '% de verrouillage pour le traitement cron : sales_send_order_creditmemo_emails%') as 'lock_sales_send_order_creditmemo_emails'
  • '% lock pour le traitement cron : sales_grid_order_creditmemo_async_insert%') as 'lock_sales_grid_order_creditmemo_async_insert'
  • '% lock pour la tâche cron : bulk_cleanup%') as 'lock_bulk_cleanup'
  • '% lock pour le traitement cron : flush_preview_quotas%') as 'lock_flush_preview_quotas'
  • '% de verrouillage pour le traitement cron : sales_send_order_facture_emails%') as 'lock_sales_send_order_facture_emails'
  • '% de verrouillage pour le traitement cron : sales_send_order_facture_emails%') as 'lock_sales_send_order_facture_emails'
  • '% lock pour le traitement cron : captcha_delete_expired_images%') as 'lock_captcha_delete_expired_images'
  • '% de verrouillage pour la tâche cron : magento_newrelicreporting_cron%') as 'lock_magento_newrelicreporting_cron'
  • '% lock pour cron job: outdated_authentication_failure_cleanup%') as 'lock_outdated_authentication_failure_cleanup'
  • '% lock pour cron job: send_notification%') as 'lock_send_notification'
  • '% lock pour le traitement cron : magento_giftcardaccount_generage_codes_pool%') as 'lock_magento_giftcardaccount_generage_codes_pool'
  • '% lock pour la tâche cron : catalog_product_frontend_actions_flush%') as 'lock_catalog_product_frontend_actions_flush'
  • Verrouillage de % pour la tâche cron : mysqlmq_clean_messages%) en tant que « mysqlmq_clean_messages »
  • '% lock pour la tâche cron : catalog_product_attribute_value_synchronize%') as 'lock_catalog_product_attribute_value_synchronize'
  • '% lock pour la tâche cron : ddg_automation_importer%') as 'lock_ddg_automation_importer'
  • « % de verrouillage pour la tâche cron : ddg_automation_review_and_wishlist% ») as « lock_ddg_automation_views_and_wishlist »
  • '% lock pour le traitement cron : captcha_delete_old_attempts%') as 'lock_captcha_delete_old_attempts'
  • '% de verrouillage pour la tâche cron : catalog_product_outdated_price_values_cleanup%') as 'lock_catalog_product_outdated_price_values_cleanup'
  • « % de verrouillage pour la tâche cron : consumer_runner% ») en tant que « lock_consumer_runner »
  • '% lock pour la tâche cron : ddg_automation_customer_subscriber_guest_sync%') as 'lock_ddg_automation_customer_subscriber_guest_sync'
  • « % de verrouillage pour la tâche cron : get_amazon_capture_updates% ») sous la forme « lock_get_amazon_capture_updates »
  • '% lock pour le traitement cron : get_amazon_authorization_updates%') as 'lock_send_get_amazon_authorization_updates'
  • '% lock pour le traitement cron : temando_process_platform_events%') as 'lock_temando_process_platform_events'
  • '% lock pour la tâche cron : ddg_automation_status%') as 'lock_ddg_automation_status'
  • '% lock pour la tâche cron : ddg_automation_status%') as 'lock_ddg_automation_status'
  • '% lock pour le traitement cron : sales_clean_orders%') as 'lock_sales_clean_orders'
  • '% de verrouillage pour la tâche cron : catalog_index_refresh_price%') as 'lock_catalog_index_refresh_price'
  • '% de verrouillage pour le traitement cron : magento_reward_balance_warning_notification%') as 'lock_magento_reward_balance_warning_notification'
  • « % de verrouillage pour la tâche cron : analytics_update% ») en tant que « lock_analytics_update »
  • '% lock pour le traitement cron : messagequeue_clean_outdated_locks%') as 'lock_messagequeue_clean_outdated_locks'
  • '% lock pour le traitement cron : messagequeue_clean_outdated_locks%') as 'lock_messagequeue_clean_outdated_locks'
  • « % de verrouillage pour la tâche cron : staging_apply_version% ») comme « lock_staging_apply_version »
  • '% de verrouillage pour la tâche cron : magento_reward_expire_points%') as 'lock_magento_reward_expire_points'
  • '% lock pour le traitement cron : yotpo_yotpo_orders_sync%') as 'lock_yotpo_yotpo_orders_sync'
  • « % de verrouillage pour la tâche cron : catalog_event_status_checker% ») as « lock_catalog_event_status_checker »
  • '% lock pour le traitement cron : ddg_automation_campaign%') as 'lock_ddg_automation_campaign'
  • « % de verrouillage pour la tâche cron : visitor_clean% ») en tant que « lock_visitor_clean »
  • '% lock pour le traitement cron : scconnector_verify_website%') as 'lock_scconnector_verify_website'
  • '% lock pour la tâche cron : ddg_automation_email_templates%') as 'lock_ddg_automation_email_templates'
  • '% lock pour le traitement cron : aggregate_sales_report_order_data%') as 'lock_aggregate_sales_report_order_data'
  • '% lock pour la tâche cron : ddg_automation_catalog_sync%') as 'lock_ddg_automation

DB Statistics

Statistiques BD

Le cadre DB Statistics affiche les suppressions, les écritures, les lignes lues, les mises à jour et les requêtes lentes par seconde.

Request frequency

Fréquence des demandes

Database Errors

Erreurs de base de données

Le cadre de Database Errors présente diverses avertissements et erreurs de base de données :

  • La taille de la mémoire allouée à la table temporaire est supérieure à 20 % de innodb_buffer_pool_size% en tant que 'temp_tbl_buff_pool'
  • '%[ERROR] WSREP : échec d’écriture rbr%') as 'rbr_write_fail'
  • '%mysqld: Disque plein%') comme 'disk_full'
  • '%Error number 28%') as 'err_28'
  • '%rollback%') comme 'rollback'
  • '%Foreign key_constraint échoue pour la table%') en tant que 'foreign_key_constraint'
  • '%Error_code: 1114%') as 'sql_1114_full''%CRITICAL: SQLSTATE[HY000] [2006] MySQL server has gone%') as 'sql_gone'
  • '%SQLSTATE[HY000] [1040] Trop de connexions%') comme 'sql_1040'
  • '%CRITICAL : SQLSTATE[HY000] [2002]%') as 'sql_2002'
  • '%SQLSTATE[08S01]:%') as 'sql_1047'
  • '%[Warning] Abandon de la connexion%') comme 'aborted_conn'
  • '%SQLSTATE[23000] : violation de contrainte d'intégrité :%') as 'sql_23000'
  • '%1205 Verrouiller le délai d'attente%') comme 'sql_1205'
  • '%SQLSTATE[HY000] [1049] Base de données inconnue%') en tant que 'sql_1049'
  • '%SQLSTATE[42S02] : table ou vue de base introuvable :%') comme 'sql_42S02'
  • « %Erreur générale : 1114 % ») comme « sql_1114 »
  • '%SQLSTATE[40001]%') comme 'sql_1213'
  • '%SQLSTATE[42S22] : colonne introuvable : 1054 colonne inconnue (%) en tant que 'sq1_1054'
  • '%SQLSTATE[42000] : erreur de syntaxe ou violation d'accès :%') as'sql_42000'
  • '%SQLSTATE[21000] : violation de cardinalité :%') as 'sql_1241'
  • '%SQLSTATE[22003]:%') comme 'sql_22003'
  • '%SQLSTATE[HY000] [9000] Client avec adresse IP%') sous la forme 'sql_9000'
  • '%SQLSTATE[HY000] : erreur générale : 2014%') en tant que 'sql_2014'
  • '%1927 Connexion interrompue%') en tant que 'sql_1927'
  • '%1062 [ERROR] InnoDB:%') as 'sql_1062_e'
  • ''%[Remarque ] WSREP : vidage du mappage de mémoire sur le disque…%') en tant que 'mem_map_flush'
  • '%Code d'erreur interne MariaDB : 1146%') as 'sql_1146'
  • '%Code d'erreur interne MariaDB : 1062%') comme 'sql_1062' * '%1062 [Avertissement] InnoDB :%') comme 'sql_1062_w'
  • '%Code d'erreur interne MariaDB : 1064%') as 'sql_1064'
  • '%InnoDB : échec de l'assertion dans le fichier%') en tant que 'assertion_err'
  • '%mysqld_safe Nombre de processus en cours d'exécution : 0%') comme 'mysql_oom'
  • '%[ERROR] mysqld a obtenu le signal%') en tant que 'mysql_sigterm'
  • '%1452 Impossible d'ajouter%') en tant que 'sql_1452'
  • '%ERROR 1698%') as 'sql_1698'
  • '%SQLSTATE[HY000] : erreur générale : 3%') en tant que 'cnt_write_tmp'
  • '%Erreur générale : 1 %') comme 'sql_syntax'
  • '%42S22%') comme 'sql_42S22'
  • '%InnoDB : erreur (clé en double)%') en tant que 'innodb_dup_key' À PARTIR DES SÉRIES CHRONOLOGIQUES du journal

DB Error Table

Tableau d’erreurs DB

Le cadre DB Error Table affiche les mêmes informations que le cadre Database Errors, mais vous pouvez les voir par nœud et au format tableau. Voir Codes d’erreur MariaDB pour plus d’informations.

Database Traces

Traces de base de données

Le cadre Database Traces affiche les traces de la base de données par type sur la chronologie sélectionnée.

Database processes

Processus de base de données

Le cadre Database processes affiche les processus de base de données, les environnements et les identifiants de nœud.

MySQL Non-Sleeping Threads by Node

Threads MySQL non mise en veille par nœud

Le cadre MySQL Non-Sleeping Threads by Node affiche les threads de connexion à la base de données. Cette image présente les threads actifs.

MySQL Running and Sleeping Threads by environment

MySQL Running and Sleeping Threads par environnement

Le cadre MySQL Running and Sleeping Threads by environment affiche les connexions actives et en veille à la base de données. S’il existe des connexions à la base de données pour lesquelles les requêtes lentes ont été mises en veille, il y aura des connexions en veille. Les connexions en veille peuvent être des requêtes de base de données bloquées par des lignes ou des tables verrouillées. Ces connexions dormantes contiennent également des connexions de programme de travail PHP.

MySQL mem used by node

Mémoire MySQL utilisée par le nœud

L’image MySQL mem used by node affiche l’utilisation de la mémoire par MySQL sur les nœuds. Sur les sites de plus grande taille, cette trame peut être constituée de barres continues dont la mémoire est de l'ordre de Go.

Database mysql-slow.log

Base de données mysql-slow.log

Le cadre Database mysql-slow.log affiche les types d'instructions de requête qui se trouvaient dans le fichier mysql-slow.log pendant la période sélectionnée.

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