Cette page vous explique comment identifier et résoudre les problèmes de latence dans vos composants Spanner.Pour en savoir plus sur les points de latence possibles dans une requête Spanner, consultez Points de latence dans une requête Spanner.
Vous pouvez mesurer et comparer les latences des requêtes entre différents composants et la base de données pour déterminer quel composant est à l'origine de la latence. Ces latences incluent la latence de bout en bout, la latence Google Front End (GFE), la latence des requêtes de l'API Spanner et la latence des requêtes.
Dans votre application cliente qui utilise votre service, vérifiez qu'il y a une augmentation de la latence de bout en bout. Vérifiez les dimensions suivantes de vos métriques côté client. Pour en savoir plus, consultez Descriptions des métriques côté client.
client_name: nom et version de la bibliothèque cliente.location: région Google Cloud dans laquelle les métriques côté client sont publiées. Si votre application est déployée en dehors deGoogle Cloud, les métriques sont publiées dans la régionglobal.method: nom de la méthode RPC, par exemplespanner.commit.status: état du RPC (par exemple,OKouINTERNAL).
Regroupez les données par ces dimensions pour voir si le problème est limité à un client, un état ou une méthode spécifiques. Pour les charges de travail birégionales ou multirégionales, vérifiez si le problème est limité à un client ou à une région Spanner spécifique.
Vérifiez l'état de votre application cliente, en particulier l'infrastructure informatique côté client (par exemple, l'utilisation de VM, de processeur ou de mémoire, les connexions, les descripteurs de fichiers, etc.).
Vérifiez la latence dans les composants Spanner en consultant les métriques côté client :
a. Vérifiez la latence de bout en bout à l'aide de la métrique
spanner.googleapis.com/client/operation_latencies.b. Vérifiez la latence de Google Front End (GFE) à l'aide de la métrique
spanner.googleapis.com/client/gfe_latencies.Vérifiez les dimensions suivantes pour les métriques Spanner :
database: nom de la base de données Spanner.method: nom de la méthode RPC, par exemplespanner.commit.status: état du RPC (par exemple,OKouINTERNAL).
Regroupez les données par ces dimensions pour voir si le problème est limité à une base de données, un état ou une méthode spécifiques. Pour les charges de travail birégionales ou multirégionales, vérifiez si le problème est limité à une région spécifique.
Vérifiez la latence des requêtes de l'API Spanner à l'aide de la métrique
spanner.googleapis.com/api/request_latencies. Pour en savoir plus, consultez Métriques Spanner.Si vous avez une latence de bout en bout élevée, mais une latence GFE faible et une latence de requête API Spanner faible, il est possible que le code de l'application présente un problème. Cela peut également indiquer un problème de réseau entre le client et le GFE régional. Si votre application présente un problème de performances qui ralentit certains chemins de code, la latence de bout en bout pour chaque requête d'API peut augmenter. Il peut également y avoir un problème dans l'infrastructure informatique du client qui n'a pas été détecté à l'étape précédente.
Si vous avez une latence GFE élevée, mais une latence de requête API Spanner faible, cela peut être dû à l'une des causes suivantes :
Accéder à une base de données depuis une autre région Cette action peut entraîner une latence GFE élevée et une faible latence des requêtes API Spanner. Par exemple, le trafic d'un client situé dans la région
us-east1et comportant une instance dans la régionus-central1peut présenter une latence GFE élevée, mais une latence des requêtes API Spanner inférieure.Un problème affecte la couche GFE. Consultez le tableau de bord d'étatGoogle Cloud pour voir si votre région rencontre actuellement des problèmes de réseau. S'il n'y a aucun problème, déposez une demande d'assistance en y incluant ces informations afin que les ingénieurs de l'assistance puissent vous aider à résoudre les problèmes liés à GFE.
Vérifiez l'utilisation du processeur de l'instance. Si l'utilisation du processeur de l'instance est supérieure au niveau recommandé, vous devez ajouter manuellement des nœuds ou configurer l'autoscaling. Pour en savoir plus, consultez Présentation de l'autoscaling.
Observez et résolvez les éventuels points chauds ou les modèles d'accès déséquilibrés à l'aide de Key Visualizer, et essayez d'annuler les modifications du code d'application qui sont fortement corrélées à la période du problème.
Vérifiez les éventuelles modifications des tendances du trafic.
Consultez les insights sur les requêtes et les insights sur les transactions pour voir s'il existe des goulots d'étranglement au niveau des performances des requêtes ou des transactions.
Utilisez les procédures décrites dans Requêtes actives les plus anciennes pour identifier les requêtes coûteuses susceptibles d'entraîner un goulot d'étranglement des performances et annulez-les si nécessaire.
Suivez les procédures de dépannage décrites dans les rubriques suivantes pour résoudre le problème à l'aide des outils d'introspection Spanner :
Étapes suivantes
- Maintenant que vous avez identifié le composant qui contient la latence, explorez le problème plus en détail à l'aide des métriques côté client intégrées.
- Découvrez comment utiliser les métriques pour diagnostiquer la latence.
- Découvrez comment résoudre les erreurs de dépassement du délai Spanner.