Résoudre les problèmes de charge élevée de la base de données avec l'aide de l'IA

Ce document explique comment utiliser l'assistance de l'IA dans Cloud SQL pour résoudre les problèmes de charge élevée de la base de données dans Cloud SQL. Vous pouvez utiliser les fonctionnalités d'assistance par IA de Cloud SQL et de Gemini Cloud Assist pour examiner, analyser, obtenir des recommandations et finalement les implémenter afin d'optimiser vos requêtes dans Cloud SQL.

En accédant au tableau de bord Insights sur les requêtes dans la console Google Cloud , vous pouvez analyser votre base de données et résoudre les problèmes liés aux événements lorsque votre système enregistre une charge de base de données supérieure à la moyenne. Cloud SQL utilise les 24 heures de données qui ont précédé la période sélectionnée pour calculer la charge attendue de votre base de données. Vous pouvez examiner les raisons des événements de charge plus élevée et analyser les preuves des performances réduites. Enfin, Cloud SQL fournit des recommandations pour optimiser votre base de données afin d'améliorer les performances.

Avant de commencer

Pour résoudre les problèmes de charge élevée de la base de données avec l'aide de l'IA, procédez comme suit:

  1. Consultez les limites du dépannage assisté par IA.
  2. Activez le dépannage assisté par IA.

Rôles et autorisations requis

Pour connaître les rôles et les autorisations requis pour résoudre les problèmes de charge de base de données élevée avec l'aide de l'IA, consultez la section Observer et résoudre les problèmes avec l'IA.

Utiliser l'assistance par l'IA

Pour utiliser l'assistance de l'IA pour résoudre les problèmes de charge élevée de la base de données, accédez à la page Vue d'ensemble de l'instance ou au tableau de bord Insights sur les requêtes dans la console Google Cloud .

Page "Présentation de l'instance"

Pour résoudre les problèmes de charge élevée de la base de données avec l'aide de l'IA sur la page Vue d'ensemble de l'instance, procédez comme suit:

  1. Dans la Google Cloud console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Sur la page Vue d'ensemble, dans le menu Graphique, sélectionnez une métrique pour la base de données. Vous pouvez sélectionner n'importe quelle métrique.
  4. Facultatif: Pour sélectionner une période d'analyse spécifique, utilisez le filtre Plage temporelle pour sélectionner une période d'une heure, de six heures, d'un jour, de sept jours, de 30 jours ou une plage personnalisée .
  5. Graphique des performances de la base de données sur la page "Vue d'ensemble", qui affiche l'utilisation du processeur sur une période de 24 heures et une option permettant d'analyser les performances de l'instance.

    Vous pouvez faire un zoom avant sur des sections spécifiques du graphique où vous remarquez des zones de charge élevée que vous souhaitez analyser. Par exemple, une zone de charge élevée peut afficher des niveaux d'utilisation du processeur proches de 100%. Pour faire un zoom avant, cliquez sur une partie du graphique et sélectionnez-la.

    Zoom avant sur le graphique des performances de la base de données.
  6. Cliquez sur Analyser les performances de l'instance pour commencer à résoudre les problèmes de charge de base de données élevée avec l'aide de l'IA. La page Analyser la charge de la base de données s'affiche.

Tableau de bord d'Insights sur les requêtes

Pour résoudre les problèmes de charge élevée de la base de données avec l'assistance de l'IA dans le tableau de bord Insights sur les requêtes, procédez comme suit:

  1. Dans la Google Cloud console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Insights sur les requêtes pour ouvrir le tableau de bord Insights sur les requêtes.
  4. Facultatif: Utilisez le filtre Période pour sélectionner une période d'une heure, de six heures, d'un jour, de sept jours, de 30 jours ou une plage personnalisée.
  5. Graphique "Charge de la base de données" du graphique "Insights sur les requêtes", qui affiche la latence des requêtes sur une période de 24 heures et une option permettant d'analyser les performances de l'instance.

    Vous pouvez faire un zoom avant sur des sections spécifiques du graphique où vous remarquez des zones de charge de base de données plus élevée en fonction du temps d'exécution de la requête. Pour faire un zoom avant, cliquez sur une partie du graphique et sélectionnez-la.

  6. Dans le graphique de charge de la base de données, cliquez sur Analyser les performances de l'instance pour commencer à résoudre les problèmes de charge de base de données élevée avec l'aide de l'IA. La page Analyser la charge de la base de données s'affiche.

Analyser une charge de base de données élevée

Grâce à l'assistance de l'IA, vous pouvez analyser et résoudre les problèmes liés à la charge de votre base de données.

Sur la page Analyser la charge de la base de données, vous pouvez afficher les détails suivants pour votre instance Cloud SQL:

  • Période d'analyse
  • Utilisation du processeur (p99)
  • Utilisation de la mémoire (p99)

Cloud SQL affiche un graphique Requêtes MySQL dans lequel vous pouvez consulter l'activité des requêtes au cours de la période sélectionnée. Vous pouvez rechercher des pics d'activité soudains sur une période donnée.

Page d'analyse des performances de la base de données pour Cloud SQL pour MySQL

Période d'analyse

Cloud SQL analyse votre base de données pour la période que vous sélectionnez dans le graphique de charge de la base de données à partir du tableau de bord Insights de la requête ou de la page Vue d'ensemble de l'instance. Si vous sélectionnez une période de moins de 24 heures, Cloud SQL analyse l'ensemble de la période. Si vous sélectionnez une période de plus de 24 heures, Cloud SQL ne sélectionne que les 24 dernières heures de la période pour l'analyse.

Pour calculer l'analyse des performances de référence de votre base de données, Cloud SQL inclut 24 heures d'une période de référence dans sa période d'analyse. Si la période sélectionnée se produit un jour autre que le lundi, Cloud SQL utilise la période de référence des 24 heures précédentes. Si la période sélectionnée se produit un lundi, Cloud SQL utilise la période de référence du 7e jour précédent la période sélectionnée.

Situation

Lorsque Cloud SQL lance l'analyse, il recherche des changements importants dans les métriques clés suivantes:

  • Requêtes par seconde (RPS)
  • Processeur
  • Mémoire
  • E/S disque

Cloud SQL compare les données agrégées de référence de votre base de données aux données de performances de la période d'analyse. Si Cloud SQL détecte une modification importante du seuil pour une métrique clé, il indique une situation possible avec votre base de données. La situation identifiée peut expliquer la cause de la charge élevée sur votre base de données au cours de la période sélectionnée.

Par exemple, plusieurs situations peuvent être identifiées pour expliquer pourquoi votre base de données est soumise à une charge élevée:

  • Nombre élevé de threads simultanés
  • Modifications importantes de l'utilisation du CPU
  • Modifications importantes du nombre d'IOPS de disque
  • Variations importantes du nombre de RPS

Situation et preuves pour Cloud SQL pour MySQL

Preuves

Pour chaque situation, Cloud SQL fournit une liste de preuves pour étayer la conclusion. Cloud SQL base les preuves sur les métriques collectées auprès de l'instance.

Chaque situation est accompagnée de preuves qui permettent de détecter les anomalies dans les performances du système. Cloud SQL détecte une anomalie lorsque les performances du système dépassent certains seuils ou répondent à des critères spécifiques limités dans le temps. Cloud SQL définit ces seuils ou critères pour chaque situation.

Pour les situations où des modifications importantes des métriques clés sont détectées, vous pouvez voir les éléments de preuve suivants:

  • Nombre total de RPS: la moyenne est passée de 18 534,22 à 37 619,86, p20 est passé de 3,55 à 5,45 et p80 est passé de 5,62 à 112 050,8.
  • RPS en lecture: la moyenne est passée de 1 802,98 à 3 657,93, p20 est passé de 1,17 à 2,1 et p80 est passé de 2,12 à 10 908,8.
  • RPS en écriture: la moyenne est passée de 1 751,61 à 3 553,48, p20 est passé de 0,2 à 0,2 et p80 est passé de 0,2 à 10 600,13.
  • Variation de l'utilisation du CPU: des évolutions importantes de l'utilisation du CPU ont été détectées. Variation moyenne : 183,85%. Variation de p80 : 2 630,49%. Variation de p20 : 6,75%.
  • IOPS de disque: une évolution importante des IOPS de disque a été détectée. Variation moyenne : 173,39%. Variation de p80 : 20 832,44%. Variation de p20 : 1,88%.
  • Threads en cours d'exécution: le nombre de threads en cours d'exécution a augmenté de 3 166,67 %.

Pour afficher les preuves récupérées lors de l'analyse, cliquez sur chaque situation. La preuve s'affiche dans le volet à côté de la situation correspondante.

Recommandations

Sur la base de toutes les situations analysées, Cloud SQL vous fournit une ou plusieurs recommandations pratiques pour vous aider à résoudre les problèmes liés à la charge élevée de votre base de données. Cloud SQL présente les recommandations avec une analyse coûts-avantages afin que vous puissiez prendre une décision éclairée sur l'implémentation de la recommandation.

Dans certains cas, aucune recommandation n'est proposée en fonction de l'analyse.

Tableau des recommandations

Par exemple, vous pouvez recevoir les recommandations suivantes:

  • Examiner la charge de travail simultanée: utilisez les insights sur les requêtes pour analyser les charges de travail passées et actuelles.

    • Lorsque l'utilisation du CPU augmente, concentrez-vous sur les requêtes les plus gourmandes en ressources pour identifier les inefficacités potentielles.
    • Lorsque l'utilisation du CPU diminue, examinez les événements d'attente pour identifier les conflits potentiels.
  • Examiner les options de base de données liées aux E/S: les fluctuations des IOPS du disque peuvent être dues à des modifications d'options de base de données.

    • Voici quelques exemples d'options clés pouvant avoir un impact sur les IOPS:

      • innodb_buffer_pool_size
      • innodb_redo_log_capacity
      • innodb_io_capacity
      • innodb_flush_neighbors
      • innodb_lru_scan_depth
      • temptable_max_ram

      L'examen de ces paramètres peut aider à identifier la cause potentielle des modifications d'E/S.

  • Examiner d'autres métriques d'E/S: pour mieux comprendre les variations des IOPS, analysez les métriques Insights sur le système suivantes:

    • Disk read/write operations
    • Read/write InnoDB pages

    Consultez également les autres métriques d'E/S InnoDB dans l'explorateur de métriques.

Si vous souhaitez poursuivre le dépannage ou obtenir de l'aide supplémentaire concernant les performances du système, vous pouvez également ouvrir Gemini Cloud Assist. Pour en savoir plus, consultez la page Observer et résoudre les problèmes avec l'aide de l'IA.

Étape suivante