Cette page explique comment utiliser les fonctionnalités avancées d'insights sur les requêtes pour AlloyDB afin de détecter et d'analyser les problèmes de performances des requêtes en temps quasi réel pour les instances principales et les instances du pool de lecture. Pour obtenir une présentation des fonctionnalités avancées d'insights sur les requêtes pour AlloyDB, consultez Présentation des fonctionnalités avancées d'insights sur les requêtes pour AlloyDB.
Pour savoir comment utiliser les insights standards sur les requêtes, consultez Améliorer les performances des requêtes à l'aide des insights sur les requêtes.
Vous pouvez utiliser Gemini Cloud Assist pour vous aider à surveiller et à résoudre les problèmes liés à vos ressources AlloyDB. Pour en savoir plus, consultez Surveiller et résoudre les problèmes avec l'aide de Gemini.
Avant de commencer
Pour accéder au tableau de bord des insights sur les requêtes, activez l'accès à AlloyDB pour PostgreSQL dans votre Google Cloud projet.
Rôles requis
Pour utiliser les fonctionnalités avancées d'insights sur les requêtes pour AlloyDB, vous devez disposer des autorisations suivantes :
- Pour accéder aux fonctionnalités avancées d'insights sur les requêtes pour AlloyDB, vous devez disposer des autorisations nécessaires pour accéder au tableau de bord AlloyDB Query Insights.
- Pour modifier les paramètres des fonctionnalités avancées d'insights sur les requêtes pour AlloyDB, vous devez disposer des autorisations nécessaires pour mettre à jour les instances AlloyDB.
Pour obtenir ces autorisations, demandez à votre administrateur de vous attribuer l'un des rôles suivants :
- Lecteur de base (
roles/viewer
) - Lecteur Database Insights (
roles/databaseinsights.viewer
)
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Activer les fonctionnalités avancées d'insights sur les requêtes pour AlloyDB
Pour activer la configuration avancée des insights sur les requêtes pour une instance AlloyDB, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Cliquez sur Activer ou Modifier les paramètres.
Dans l'onglet Modifier les paramètres d'insights sur les requêtes, cochez la case Activer les fonctionnalités avancées d'insights sur les requêtes pour AlloyDB.
Par défaut, cela implique les modifications de configuration suivantes :
- Coche les cases Analyse des événements d'attente et Analyse des requêtes actives.
- Augmente la longueur des requêtes de 4 500 à 100 000 octets.
Enregistrez les modifications. Cela redémarre votre instance AlloyDB pour PostgreSQL.
gcloud
gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabled
Remplacez les éléments suivants :
INSTANCE
: ID de l'instance à mettre à jour.CLUSTER
: ID du cluster de l'instance.PROJECT
: ID du projet du cluster.REGION
: région du cluster (par exemple,us-central1
).
L'indicateur --observability-config-enabled
permet de collecter et d'analyser les données d'une instance AlloyDB pour surveiller ses performances et son état. Si vous souhaitez désactiver les insights avancés sur les requêtes, utilisez --no-observability-config-enabled
.
Terraform
Pour activer les insights avancés sur les requêtes sur votre instance AlloyDB à l'aide de Terraform, définissez le champ enabled
sur true
dans le bloc observability_config
.
Exemple :
observability_config { enabled = true ... }
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
REST v1
Cet exemple active les insights avancés sur les requêtes sur votre instance AlloyDB. Pour obtenir la liste complète des paramètres de cet appel, consultez Méthode : projects.locations.clusters.instances.patch. Pour en savoir plus sur les paramètres avancés des insights sur les requêtes, consultez Modifier les paramètres avancés des insights sur les requêtes.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
CLUSTER_ID
: ID du cluster que vous créez. Il doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.PROJECT_ID
: ID du projet dans lequel vous souhaitez placer le cluster.LOCATION_ID
: ID de la région du cluster.INSTANCE_ID
: nom de l'instance principale que vous souhaitez créer.
Pour activer la configuration de votre instance, utilisez la requête PATCH
suivante :
PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled}
Le paramètre de requête updateMask=observabilityConfig.enabled
indique à l'API de mettre à jour le champ enabled
dans le bloc observabilityConfig
.
Le corps JSON de la requête se présente comme suit :
{
"observabilityConfig": {
"enabled" : true,
}
}
Une fois les insights avancés sur les requêtes activés, vous pouvez modifier leurs paramètres.
Modifier les paramètres des fonctionnalités avancées
Pour modifier la configuration des insights avancés sur les requêtes pour une instance AlloyDB, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Cliquez sur Modifier les paramètres, puis modifiez l'un des paramètres suivants :
- Analyse des événements d'attente : elle peut vous aider à identifier et à résoudre les problèmes de performances dans votre base de données. Un événement d'attente est un composant qui provoque un retard dans le traitement d'une opération liée à une requête.
- Analyse des requêtes actives : suivez les requêtes en cours d'exécution.
- Consigner les commentaires sur les requêtes : pour en savoir plus sur le contexte d'une requête, consultez les commentaires associés à celle-ci, en fonction de sa longueur. Aucune mémoire supplémentaire n'est nécessaire. Si vos commentaires contiennent des informations sensibles, soyez attentif aux droits d'accès des utilisateurs.
- Activer le conseiller d'index : affichez des recommandations de création d'index sur la page "Insights sur les requêtes" d'un cluster.
- Dans le champ Sélectionner la fréquence d'exécution, vous pouvez définir la fréquence de mise à jour des recommandations.
- Stocker les adresses IP des clients : activez cette option pour suivre les adresses IP des clients et analyser ces données.
- Stocker les tags d'application : activez cette option pour identifier les API et les routes modèle-vue-contrôleur qui envoient des requêtes, et regrouper ces données pour en extraire des métriques.
- Échantillonnage des plans de requête : les plans de requête permettent de visualiser les opérations utilisées pour effectuer un échantillon d'une requête. Le taux d'échantillonnage détermine le nombre d'échantillons de requête pouvant être capturés par minute dans vos bases de données. Des taux plus élevés nécessitent davantage de mémoire.
- Dans le champ Longueur des requêtes, vous pouvez modifier la limite par défaut applicable à la longueur des requêtes, de 256 octets à 100 Ko. Une requête de longueur plus importante nécessite davantage de mémoire. Pour modifier la longueur de la requête, vous devez redémarrer l'instance.
Enregistrez les modifications.
gcloud
gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-preserve-comments \
--observability-config-track-wait-events \
--observability-config-max-query-string-length=QUERY_LENGTH \
--observability-config-record-application-tags \
--observability-config-query-plans-per-minute=QUERY_PLANS \
--observability-config-track-active-queries
Remplacez les éléments suivants :
INSTANCE
: ID de l'instance à mettre à jour.CLUSTER
: ID du cluster de l'instance.PROJECT
: ID du projet du cluster.REGION
: région du cluster (par exemple,us-central1
).QUERY_LENGTH
: longueur de la requête, comprise entre 1 024 et 100 000 octets. La longueur de requête par défaut est de 10 240 octets. Des longueurs de requête plus élevées sont plus utiles pour les requêtes analytiques, mais elles nécessitent également davantage de mémoire. Pour modifier la longueur de la requête, vous devez redémarrer l'instance. Vous pouvez toujours ajouter des tags aux requêtes qui dépassent la longueur maximale.QUERY_PLANS
: nombre de plans de requête à configurer par minute. Par défaut, un maximum de 20 échantillons de plan de requête exécutés sont capturés par minute sur l'ensemble des bases de données de l'instance. Remplacez cette valeur par un nombre compris entre 1 et 20. Pour désactiver l'échantillonnage, saisissez 0. Si vous augmentez le taux d'échantillonnage, vous obtiendrez peut-être plus de points de données, mais cela peut avoir un impact négatif sur les performances.
Si nécessaire, utilisez les indicateurs d'observabilité facultatifs suivants :
--observability-config-track-active-queries
: permet le suivi des requêtes actives. Si vous souhaitez désactiver la fonctionnalité, utilisez--no-observability-config-track-active-queries
.--observability-config-record-application-tags
: stocke les tags d'application qui vous aident à déterminer les API et les routes MVC (model-view-controller) qui envoient des requêtes, ainsi qu'à regrouper les données pour en extraire des métriques. Cette option nécessite de commenter des requêtes avec un ensemble de tags spécifique. Si vous ne souhaitez pas stocker les tags d'application, utilisez--no-observability-config-record-application-tags
.--observability-config-preserve-comments
: conserve les annotations ajoutées au code SQL pour fournir des informations sur le code sans affecter son exécution. Si vous ne souhaitez pas conserver les annotations, utilisez--no-observability-config-preserve-comments
.--observability-config-track-wait-events
: permet d'attendre les événements de chaque type d'événement d'attente. Si vous ne souhaitez pas suivre les événements d'attente, utilisez--no-observability-config-track-wait-events
.
Terraform
Pour configurer les insights avancés sur les requêtes sur votre instance AlloyDB à l'aide de Terraform, utilisez la ressource google_alloydb_instance
.
En voici un exemple :
observability_config { enabled = ENABLED_VALUE preserve_comments = PRESERVE_COMMENTS_VALUE track_wait_events = TRACK_WAIT_EVENTS_VALUE max_query_string_length = MAX_QUERY_STRING_LENGTH_VALUE record_application_tags = RECORD_APPLICATION_TAGS_VALUE query_plans_per_minute = QUERY_PLANS_PER_MINUTE_VALUE track_active_queries = TRACK_ACTIVE_QUERIES_VALUE }
Remplacez les éléments suivants :
ENABLED_VALUE
: état de la fonctionnalité d'observabilité pour une instance. Définissez la valeur surtrue
lorsque vous modifiez les paramètres et spécifiez d'autres indicateurs si nécessaire.PRESERVE_COMMENTS_VALUE
: conserve les commentaires dans la chaîne de requête. La valeur par défaut estfalse
.TRACK_WAIT_EVENTS_VALUE
: enregistre les événements d'attente lors de l'exécution d'une requête pour une instance. La valeur par défaut esttrue
.MAX_QUERY_STRING_LENGTH_VALUE
: longueur de la chaîne de requête. La valeur par défaut est10240
. Tout nombre entier compris entre 1 024 et 100 000 est valide.RECORD_APPLICATION_TAGS_VALUE
: enregistrez les tags d'application pour une instance. La valeur par défaut esttrue
.QUERY_PLANS_PER_MINUTE_VALUE
: nombre de plans d'exécution de requêtes capturés par les insights par minute pour toutes les requêtes combinées. La valeur par défaut est20
. Tout nombre entier compris entre 0 et 20 est valide.TRACK_ACTIVE_QUERIES_VALUE
: suivre les requêtes en cours d'exécution. La valeur par défaut estfalse
.Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
REST v1
Cet exemple configure les paramètres avancés d'insights sur les requêtes sur votre instance AlloyDB. Pour obtenir la liste complète des paramètres de cet appel, consultez Méthode : projects.locations.clusters.instances.patch.
Pour configurer les paramètres avancés des insights sur les requêtes, définissez le champ enabled
sur true
et modifiez les autres champs facultatifs si nécessaire. Pour obtenir la liste complète des champs de cet appel, consultez ObservabilityInstanceConfig.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
CLUSTER_ID
: ID du cluster que vous créez. Il doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.PROJECT_ID
: ID du projet dans lequel vous souhaitez placer le cluster.LOCATION_ID
: ID de la région du cluster.INSTANCE_ID
: nom de l'instance principale que vous souhaitez créer.
Pour modifier la configuration de votre instance, utilisez la requête PATCH
suivante :
PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled,observabilityConfig.preserveComments,observabilityConfig.trackWaitEvents,observabilityConfig.maxQueryStringLength,observabilityConfig.recordApplicationTags,observabilityConfig.queryPlansPerMinute,observabilityConfig.trackActiveQueries,observabilityConfig.trackClientAddress}
Le corps JSON de la requête qui configure tous les champs d'insights avancés sur les requêtes se présente comme suit :
{
"observabilityConfig": {
"enabled" : true,
"preserveComments": true,
"trackWaitEvents": true,
"maxQueryStringLength": 5000,
"recordApplicationTags": true,
"queryPlansPerMinute": 20,
"trackActiveQueries": true,
}
}
Détecter et diagnostiquer les problèmes de performances des requêtes
Vous pouvez utiliser les insights avancés sur les requêtes pour détecter et diagnostiquer les problèmes de performances. Le tableau de bord "Insights sur les requêtes" affiche la charge de la base de données, qui mesure le travail (en secondes de processeur) effectué au fil du temps par les requêtes exécutées dans la base de données sélectionnée. Chaque requête en cours d'exécution utilise ou attend des ressources. La charge de la base de données correspond au ratio du temps pris par toutes les requêtes effectuées sur une période donnée, en temps réel écoulé.
Afficher la mesure du travail effectué par les requêtes exécutées
Le graphique de charge de la base de données indique la mesure du travail effectué (en secondes d'utilisation de CPU) par toutes les requêtes exécutées dans votre base de données, selon la dimension sélectionnée. La charge de la base de données est divisée en fonction des données de répartition que vous sélectionnez dans le menu déroulant du graphique.
Vous pouvez ventiler la charge de la base de données selon l'une des dimensions suivantes :
- Requête
- Type d'événement d'attente
- Événement d'attente
- Base de données
- Utilisateur
Pour afficher le travail effectué par les requêtes exécutées dans votre base de données, procédez comme suit :
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Choisissez la base de données et l'utilisateur.
Choisissez la durée d'exécution totale pour laquelle vous souhaitez afficher les données (par exemple, 1 ou 6 heures, ou une durée personnalisée).
Dans le menu déroulant Charge de la base de données par temps d'exécution, sélectionnez la dimension que vous souhaitez examiner. En fonction de la dimension que vous choisissez, le graphique indique la contribution de la dimension choisie à la charge globale de la base de données. Par exemple, si vous sélectionnez la dimension Événements d'attente dans le menu déroulant du graphique de charge de la base de données, la répartition de tous les événements d'attente survenus au cours de la période sélectionnée pour la base de données et l'utilisateur concernés s'affiche dans le graphique de charge de la base de données.
Le graphique de charge de la base de données affiche les données pour les neuf types d'événements d'attente et les événements d'attente compatibles avec PostgreSQL. En fonction du nombre et des types d'événements d'attente, les dix principaux événements et types d'attente sont affichés. S'il y a plus de dix événements d'attente, les neuf premiers sont affichés et les autres sont regroupés dans la catégorie Autres. Cette approche s'applique également à d'autres dimensions telles que "Requêtes", "Bases de données" et "Utilisateurs".
Afficher les principaux contributeurs à la charge de la base de données
Le tableau Dimensions principales par charge de la base de données vous permet d'identifier les principaux contributeurs à la charge de la base de données pour la période et la dimension sélectionnées dans le graphique Charge de la base de données. Selon la dimension que vous choisissez dans le tableau Dimensions principales par charge de la base de données, vous pouvez trouver les valeurs les plus élevées pour la période sélectionnée.
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Choisissez la base de données et l'utilisateur.
Choisissez la durée d'exécution totale pour laquelle vous souhaitez afficher les données (par exemple, 1 ou 6 heures, ou une durée personnalisée).
Dans le tableau Dimensions principales par charge de la base de données, vous pouvez cliquer sur l'un des éléments suivants :
Dimension Description Requêtes Le tableau affiche les requêtes normalisées les plus fréquentes par durée d'exécution totale. Pour chaque requête, les données affichées dans les colonnes sont les suivantes :
- Temps d'exécution moyen (ms) Temps moyen d'exécution de la requête.
- Temps d'exécution total (ms) : Temps d'exécution total de la requête spécifique.
- Lignes renvoyées Nombre moyen de lignes récupérées pour la requête.
- Nombre d'appels : Nombre de fois que la requête a été appelée par l'application.
- % de charge par dimension du graphique. Le graphique à bulles montre comment la dimension du graphique est répartie pour la requête spécifique.
Types d'événements d'attente Le tableau affiche la liste des principaux types d'événements d'attente qui se sont produits au cours de la période sélectionnée.
- Temps d'attente moyen (ms) : Temps moyen passé par les requêtes dans le type d'événement d'attente spécifique.
- Temps d'attente total (en ms). Temps d'exécution total passé par les requêtes dans le type d'événement d'attente spécifique.
- Nombre de types d'événements d'attente. Nombre d'occurrences d'un type d'événement d'attente spécifique au cours de la période sélectionnée.
- % de charge par dimension du graphique. Le graphique à bulles montre comment la dimension du graphique sélectionnée dans le menu déroulant du graphique de charge de la base de données est répartie sur le type d'événement d'attente spécifique.
Événements d'attente Le tableau affiche la liste des principaux événements d'attente qui se sont produits au cours de la période sélectionnée.
- Temps d'attente moyen (ms) : Temps moyen passé par les requêtes dans l'événement d'attente spécifique.
- Temps d'attente total (en ms). Temps d'exécution total passé par les requêtes dans l'événement d'attente spécifique.
- Nombre d'événements d'attente. Nombre d'occurrences d'un événement d'attente spécifique au cours de la période sélectionnée.
- % de charge par dimension du graphique. Le graphique à bulles montre comment la dimension du graphique sélectionnée dans le menu déroulant du graphique de charge de la base de données est répartie sur l'événement d'attente spécifique.
Base de données Le tableau affiche la liste des principales bases de données qui ont contribué à la charge au cours de la période choisie pour toutes les requêtes exécutées.
- Temps moyen passé dans la base de données (ms) Temps moyen passé par les requêtes dans la base de données spécifique.
- Temps total passé dans la base de données (ms). Temps d'exécution total passé par les requêtes dans la base de données spécifique.
- % de charge par dimension du graphique. Le graphique à pilules montre comment la dimension du graphique sélectionnée dans le menu déroulant du graphique de charge de la base de données est répartie dans la base de données spécifique.
Utilisateur Le tableau affiche la liste des principaux utilisateurs pour la période choisie, pour toutes les requêtes exécutées.
- Temps moyen passé dans l'utilisateur (ms) : Temps moyen passé par les requêtes sur l'utilisateur spécifique.
- Temps total passé dans l'utilisateur (en ms). Temps d'exécution total des requêtes dans l'utilisateur spécifique.
- % de charge par dimension du graphique. Le graphique à bulles montre comment la dimension du graphique sélectionnée dans le menu déroulant du graphique de chargement de la base de données est répartie entre les utilisateurs spécifiques.
Afficher le temps d'exécution des requêtes
Les fonctionnalités avancées d'insights sur les requêtes pour AlloyDB affichent les dix principales requêtes contribuant à la charge de la base de données dans le tableau Dimensions principales par charge de la base de données. La requête principale est celle qui a le plus contribué à la charge de la base de données pour la période sélectionnée. Les requêtes suivantes représentent un pourcentage de la durée d'exécution la plus longue.
Pour savoir comment le temps d'exécution d'un paramètre dans Dimensions principales par charge de la base de données est affecté par différentes valeurs de la dimension du graphique sélectionné (requêtes, types d'événements d'attente, événements d'attente, bases de données et utilisateurs), procédez comme suit :
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Choisissez la base de données et l'utilisateur.
Affichez le % de charge par dimension du graphique dans le tableau Dimensions principales par charge de la base de données pour savoir comment un paramètre du tableau est affecté par les paramètres du graphique Charge de la base de données.
Par exemple, lorsque vous sélectionnez Toutes les requêtes dans le graphique Charge de la base de données et que vous cliquez sur l'onglet Requêtes dans le tableau Dimensions principales par charge de la base de données, % de charge par requête affiche la liste des requêtes qui ont le plus contribué à la charge de la base de données sélectionnée au cours de la période donnée.
Afficher des informations sur le temps d'exécution des requêtes
Vous pouvez afficher des informations détaillées sur le temps d'exécution des requêtes dans Plus de détails, y compris les dimensions que vous avez sélectionnées dans le tableau et le graphique de charge de la base de données, la définition de chaque événement d'attente et les données incluses dans la catégorie Autres.
L'option Plus de détails affiche également des informations complexes qui ne sont pas présentées ailleurs sur l'écran des détails de la requête. Ces informations incluent la définition de chaque événement d'attente.
Pour afficher des informations sur le temps d'exécution des requêtes, procédez comme suit :
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Choisissez la base de données et l'utilisateur.
Dans le tableau Dimensions principales par charge de la base de données, cliquez sur Plus de détails pour une requête.
Les fonctionnalités avancées d'insights sur les requêtes pour AlloyDB affichent des requêtes normalisées ($1, $2, etc.) pour remplacer les valeurs constantes littérales. Exemple :
UPDATE "demo_customer" SET "customer_id" = $1::uuid, "name" = $2, "address" = $3, "rating" = $4, "balance" = $5, "current_city" = $6, "current_location" = $7 WHERE "demo_customer"."id" = $8
La valeur de la constante est ignorée afin que les insights avancés sur les requêtes puissent agréger des requêtes similaires et supprimer toute information permettant d'identifier personnellement l'utilisateur pouvant être affichée par la constante.
Déterminer la charge de la base de données pour les requêtes normalisées
Pour afficher une mesure de l'utilisation du temps et des ressources par l'exécution de requêtes (en secondes de temps de processeur) effectuée au fil du temps par la requête normalisée sélectionnée dans la base de données sélectionnée, procédez comme suit :
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Choisissez la base de données et l'utilisateur.
Cliquez sur Requêtes dans le graphique Charge de la base de données. Pour calculer la charge de la base de données, le graphique Charge de base de données utilise le temps pris par les requêtes normalisées effectuées à la limite de la minute par rapport au temps réel écoulé.
En haut du graphique Charge de la base de données, les 10 Ko premiers caractères de la requête normalisée s'affichent. Les littéraux sont supprimés à des fins d'agrégation et de respect des informations permettant d'identifier personnellement l'utilisateur (PII).
Pour déterminer la répartition du temps passé dans chacun de ces états, les fonctionnalités avancées d'insights sur les requêtes pour AlloyDB répartissent les charges de requêtes normalisées en événements d'attente et en types d'événements d'attente.
Vous pouvez étudier la latence des requêtes à l'aide des graphiques Latence. La latence correspond au temps d'exécution de la requête normalisée en temps réel écoulé. La latence des requêtes parallèles est mesurée en temps réel écoulé, même si la charge de la base de données peut être plus élevée pour la requête en raison de l'utilisation de plusieurs cœurs pour exécuter une partie de la requête.
Vous pouvez filtrer les données par centile pour afficher les 50e, 95e ou 99e centiles et détecter les requêtes qui ne respectent pas le temps d'exécution attendu. Pour analyser la latence historique de la requête normalisée, modifiez la période.
Analyser les requêtes normalisées
Les plans de requêtes vous aident à comprendre et à analyser les requêtes normalisées en fournissant une répartition des différentes opérations dans un échantillon de votre requête.
L'exemple de plan de requête fournit une vue EXPLAIN ANALYZE
pour les exemples de plans de requête liés à la requête normalisée. Il s'agit de plans de requête exécutés qui fournissent une répartition du temps d'activité de chaque opération du plan de requête.
Pour afficher un exemple de plan de requête, procédez comme suit :
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Choisissez la base de données et l'utilisateur.
Choisissez la durée d'exécution totale pour laquelle vous souhaitez afficher les données (par exemple, 1 ou 6 heures, ou une durée personnalisée).
Dans le tableau Dimensions principales par charge de la base de données, cliquez sur une requête.
Dans Exemples de plans de requête, cliquez sur l'un des points du graphique pour afficher un plan de requête pour cette requête.
Surveiller et dépanner les performances des applications à l'aide de tags
Les insights avancés sur les requêtes fournissent une surveillance centrée sur les applications et simplifient le diagnostic des performances des applications créées avec le mappage objet-relationnel (ORM). L'ajout de tags aux requêtes vous aide à détecter les problèmes liés à des constructions de niveau supérieur, telles que l'utilisation de la logique métier, d'un microservice ou d'une autre construction. Vous pouvez utiliser des tags dans votre application pour effectuer les opérations suivantes :
- Surveillez les performances de la base de données.
- Utilisez Sqlcommenter pour identifier les problèmes de performances causés par le code d'application.
- Analysez la charge de la base de données.
- Affichez la charge par tag.
Pour savoir comment utiliser les tags dans Insights sur les requêtes, consultez Améliorer les performances des requêtes à l'aide d'Insights sur les requêtes.
Résoudre les problèmes liés aux applications au niveau de la base de données
Les insights avancés sur les requêtes fournissent une vue de trace en contexte et de bout en bout pour vous aider à comprendre les problèmes liés à l'application au niveau de la base de données pour une requête spécifique. Les traces en contexte de l'application de bout en bout vous aident à déterminer la source de la requête problématique, par exemple par modèle, vue, contrôleurs et route.
Lorsque vous activez OpenTelemetry, les informations sur les spans sont envoyées à la base de données avec les informations sur les tags dans les commentaires SQL. Les traces de l'application vers Cloud Logging sont associées aux traces du plan de requête de la base de données pour identifier la source du problème.
Pour afficher une trace dans le contexte, procédez comme suit :
Dans la console Google Cloud , accédez à la page Clusters.
Dans la liste des clusters et des instances, cliquez sur une instance.
Cliquez sur Insights sur les requêtes.
Choisissez la base de données et l'utilisateur.
Cliquez sur une entrée du tableau Dimensions principales par charge de la base de données.
Sur la page Détails des insights sur les requêtes, cliquez sur DE BOUT EN BOUT.
Vous pouvez également utiliser Cloud Trace pour afficher la trace de bout en bout pour chaque étape du plan de requête. Pour accéder à Cloud Trace, sélectionnez Opérations > Trace.
Questions fréquentes
Cette section répond aux questions fréquentes sur les fonctionnalités avancées d'insights sur les requêtes.
Pourquoi la chaîne de requête est-elle tronquée ?
Par défaut, les insights avancés sur les requêtes affichent 10 Ko dans les chaînes de requête. Vous pouvez augmenter la taille d'affichage à 100 Ko.
Pourquoi la charge du processeur est-elle au-dessus de la limite maximale de cœur dans le graphique "Charge de la base de données" ?
La charge du processeur tient compte à la fois du temps d'exécution et du temps d'attente du programmeur Linux chargé de planifier le processus du serveur en cours d'exécution. Par conséquent, la charge du processeur peut dépasser la limite maximale de cœur.
Puis-je utiliser les métriques standards de Query Insights ?
Oui. Les insights sur les requêtes standards génèrent des compteurs accessibles via Stackdriver. Ces métriques sont disponibles à l'aide de l'API Cloud Monitoring et de l'interface utilisateur de l'explorateur de métriques. Pour en savoir plus, consultez MétriquesGoogle Cloud .
Quelle est la longueur maximale d'une chaîne de requête ?
Pour le plug-in standard Insights sur les requêtes, la longueur maximale de la chaîne de requête est limitée à 4,5 ko. Pour les insights avancés sur les requêtes, la longueur de chaîne par défaut est de 10 Ko et la longueur maximale est limitée à 100 Ko.
Puis-je utiliser les fonctionnalités avancées d'insights sur les requêtes avec des clusters secondaires ?
Vous ne pouvez pas activer les insights avancés sur les requêtes sur les clusters avec des instances secondaires. Avant de créer une instance secondaire sur un cluster, vous devez désactiver les insights avancés sur les requêtes sur toutes les instances du cluster.
Étapes suivantes
- Présentation des fonctionnalités avancées d'insights sur les requêtes pour AlloyDB
- Métriques AlloyDB
- Blog pratique : Activez l'ajout de tags aux requêtes avec Sqlcommenter