Présentation des outils d'introspection

Les outils d'introspection pour Spanner vous permettent d'examiner les problèmes liés à votre base de données. Ils se composent d'un ensemble de tables intégrées que vous pouvez interroger afin d'obtenir plus d'informations sur les requêtes, transactions, lectures, etc. Vous ne savez pas quel outil utiliser pour un problème particulier ? La liste suivante résume chaque outil et le type de questions auxquelles ils peuvent répondre.

Statistiques des requêtes

Lorsque vous examinez des problèmes dans votre base de données, il est utile de savoir quelles requêtes sont coûteuses, exécutées fréquemment ou qui analysent de nombreuses données.

Les statistiques sur les requêtes sont des statistiques agrégées pour les requêtes (y compris les instructions LMD et les requêtes de flux de modifications), collectées par intervalles de 1, 10 et 60 minutes. Des statistiques sont collectées pour les instructions qui se sont terminées avec succès, ainsi que celles qui ont échoué, ont expiré ou ont été annulées par l'utilisateur.

Ces statistiques comprennent l'utilisation la plus élevée du processeur, le nombre total d'exécutions de requêtes, la latence moyenne, la plupart des données analysées et d'autres statistiques de requête de base. Utilisez ces statistiques afin d'identifier les requêtes coûteuses, fréquemment exécutées ou qui analysent de nombreuses données.

Vous pouvez visualiser ces métriques sur une série temporelle à l'aide des tableaux de bord Insights sur les requêtes. Ces tableaux de bord prédéfinis vous permettent de visualiser les pics d'utilisation du processeur et d'identifier les requêtes inefficaces.

Requêtes actives les plus anciennes

Vous pouvez parfois avoir besoin d'afficher la charge de travail actuelle du système en examinant les requêtes en cours d'exécution. Utilisez l'outil Requêtes actives les plus anciennes pour examiner les requêtes de longue durée susceptibles d'avoir un impact sur les performances de la base de données. Cet outil vous indique ce que sont les requêtes, à quel moment elles ont commencé à s'exécuter et à quelle session elles appartiennent.

Les requêtes de flux de modifications ne sont pas incluses dans les requêtes actives les plus anciennes.

Lire les statistiques

Les statistiques de lecture peuvent être utilisées pour étudier les lectures les plus courantes et les plus gourmandes en ressources de votre base de données à l'aide de l'API Reads de Spanner. Ces statistiques sont collectées et stockées dans trois intervalles de temps différents : une minute, 10 minutes et une heure. Pour chaque intervalle de temps, Spanner suit les lectures qui utilisent le plus de ressources.

Utilisez les statistiques de lecture pour connaître l'utilisation combinée des ressources par toutes les lectures, identifier les lectures consommant le plus de processeurs et découvrir comment la fréquence d'une lecture spécifique évolue au fil du temps.

Statistiques de transaction

Les statistiques de transaction peuvent servir à examiner les problèmes liés aux transactions. Par exemple, vous pouvez rechercher des transactions lentes qui peuvent causer un conflit ou identifier des modifications dans les formes de transaction qui entraînent des régressions de performances. Chaque ligne contient les statistiques de toutes les transactions exécutées sur la base de données selon des intervalles de 1, 10 et 60 minutes.

Vous pouvez visualiser ces métriques sur une série temporelle à l'aide du tableau de bord Insights sur les transactions. Le tableau de bord prédéfini vous permet de visualiser les latences des transactions et d'identifier les transactions problématiques.

Statistiques de verrouillage

Les statistiques de verrou peuvent être utilisées pour examiner les conflits de verrouillage dans votre base de données. Utilisé avec les statistiques de transactions, vous pouvez identifier les transactions qui entraînent des conflits de verrous en essayant d'acquérir des verrous sur les mêmes cellules en même temps.

Vous pouvez visualiser ces métriques sur une série temporelle à l'aide du tableau de bord Insights sur les verrouillages. Le tableau de bord prédéfini vous aide à afficher le temps d'attente de verrouillage et à vérifier si les latences sont dues à des conflits de verrouillage avec un temps d'attente de verrouillage élevé.

Méthodes d'API incluses dans chaque outil

Dans Spanner, il existe un certain chevauchement entre les transactions, les lectures et les requêtes. Par conséquent, il peut être difficile de déterminer les méthodes d'API incluses lors de la compilation des résultats pour chaque outil d'introspection. Le tableau suivant répertorie les principales méthodes de l'API et leur relation à chaque outil.

Méthodes d'API Modes de transaction Statistiques des requêtes Requêtes actives les plus anciennes Lire les statistiques Statistiques de transaction Statistiques de verrouillage
Lecture, StreamingRead Transaction en lecture seule1 Non Non Oui Non Non
Transaction en lecture-écriture Non Non Oui Oui Oui
ExecuteSql et ExecuteStreamingSql Transaction en lecture seule1 Oui2 Oui2 Non Non Non
Transaction en lecture-écriture Oui Oui Non Oui Oui
ExecuteBatchDml Transactions en lecture-écriture Oui3 Oui4 Non Oui Oui
Commit Transactions en lecture/écriture (LMD5, mutations6) Non Non Non Oui Oui

Notes :

1 Les transactions en lecture seule ne sont pas incluses dans les statistiques de transaction ni dans les statistiques de verrouillage. Seules les transactions en lecture-écriture sont incluses dans les statistiques de transaction et les statistiques de verrouillage.

2 Les requêtes exécutées avec l'API PartitionQuery ne sont pas incluses dans les statistiques de requête ni dans les requêtes actives les plus anciennes.

3 Un lot d'instructions LMD apparaît dans les statistiques sur les requêtes comme une seule entrée.

4 Les instructions du lot apparaissent dans les requêtes actives les plus anciennes, et non dans l'ensemble du lot.

5 Les opérations LMD non validées ne sont pas incluses dans les statistiques sur les transactions.

6 Les mutations vides qui sont effectivement no-op ne sont pas incluses dans les statistiques sur les transactions.

Statistiques sur les tailles de tables

Vous pouvez utiliser les statistiques de taille des tables pour surveiller la taille historique des tables et des index de votre base de données.

Utilisez les statistiques sur la taille des tables pour identifier les tendances de taille de vos tables, vos index et vos tables de flux de modifications. Vous pouvez également garder une trace de vos tables et index les plus volumineux.

Veuillez noter que cette fonctionnalité n'est proposée qu'à titre d'information historique. Elle n'est pas destinée à la surveillance en temps réel.

Statistiques sur les opérations de la table

Vous pouvez utiliser les statistiques des opérations Table pour effectuer les opérations suivantes:

  • Surveillez les utilisations de vos tables et index dans votre base de données.
  • Identifiez les tendances d'utilisation de vos tables et de vos index.
  • Identifiez les changements dans le trafic.

De plus, vous pouvez mettre en corrélation les modifications apportées au stockage des tables avec les variations du trafic d'écriture.