Utilisez les tableaux de bord sur les insights système et les tableaux de statistiques intégrés pour identifier les transactions qui entraînent des latences élevées dans Spanner Omni. Pour garantir la cohérence de plusieurs transactions simultanées, Spanner Omni utilise des verrous pour contrôler l'accès aux données. La contention de verrouillage se produit lorsque de nombreuses transactions nécessitent un accès fréquent au même verrou, ce qui entraîne des latences élevées.
Les opérations Spanner Omni acquièrent des verrous lorsqu'elles font partie d'une transaction en lecture/écriture. Les transactions en lecture seule n'acquièrent pas de verrous.
Pour identifier les transactions qui entraînent une latence élevée, procédez comme suit :
Avant de commencer
Si ce n'est pas déjà fait, téléchargez et installez la console Spanner Omni. Pour en savoir plus, consultez Téléchargements Spanner Omni et Démarrer la console Spanner Omni.
Détecter un pic de latence à l'aide des informations système
Spanner Omni n'utilise pas Cloud Monitoring. Utilisez plutôt le tableau de bord des insights système dans la console Spanner Omni ou Grafana. Pour vérifier si des pics de latence se produisent dans la console Spanner Omni, procédez comme suit :
Dans la console Spanner Omni, cliquez sur Insights sur le système dans le volet de navigation.
Dans le tableau de bord des insights système, consultez les graphiques de latence pour les éléments suivants :
Latence des requêtes (
P50,P90,P99)Latence des transactions (
P50,P90,P99)
Consultez le 99e centile (
P99) pour les opérations d'écriture dans les graphiques de latence. Si vous constatez un pic de latence sans pic correspondant d'utilisation du processeur ni d'erreurs, la latence est probablement due à des problèmes de contention de verrouillage.
Vérifier les problèmes de conflits de verrouillage
Pour vérifier si les latences élevées sont dues à des conflits de verrouillage, utilisez la métrique "Temps d'attente de verrouillage" disponible dans le tableau de bord Insights sur le système.
Vérifier si le temps d'attente de verrouillage est élevé
Vérifiez si le temps d'attente de verrouillage est élevé dans le tableau de bord "Insights système" de la console Spanner Omni :
Localisez le graphique Temps d'attente de verrouillage, qui indique le temps d'attente total pour les conflits de verrouillage pour la base de données sélectionnée dans un intervalle de cinq minutes.
Vérifiez si cette métrique affiche une augmentation corrélée au pic de latence que vous avez observé.
Analyser les données d'attente de verrouillage à l'aide des tables système
Une fois que vous avez confirmé que la contention de verrouillage est à l'origine des latences élevées, utilisez les tables de statistiques système pour analyser les données d'attente de verrouillage et identifier les transactions qui sont à l'origine de la contention. Vous pouvez utiliser la CLI Spanner Omni pour interroger les tables de statistiques.
Pour en savoir plus sur les tables de statistiques de verrouillage, consultez Statistiques de verrouillage dans la documentation Spanner.
Identifier les transactions en conflit
Pour identifier précisément les transactions qui contribuent à des latences élevées, examinez les statistiques de transaction de votre base de données. Concentrez-vous sur les transactions avec une latence moyenne élevée. Optimisez la forme de la transaction pour réduire la latence. Envisagez d'appliquer les pratiques recommandées pour réduire les conflits de verrouillage dans la documentation Spanner.
Pour en savoir plus sur les tables de statistiques de transactions, consultez Statistiques de transactions dans la documentation Spanner.
Étapes suivantes
Utiliser les alertes Prometheus pour surveiller Spanner Omni
Utilisez des tableaux de bord Grafana pour surveiller Spanner Omni.