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 quasi-temps réel pour les instances de pool de lecture et principales. Pour obtenir un aperçu des fonctionnalités avancées des insights sur les requêtes pour AlloyDB, consultez la section Présentation des fonctionnalités avancées des insights sur les requêtes pour AlloyDB.
Pour savoir comment utiliser les insights sur les requêtes standards, consultez Améliorer les performances des requêtes à l'aide de Query Insights.
Vous pouvez utiliser l'assistance de Gemini dans les bases de données pour vous aider à surveiller et à résoudre les problèmes liés à vos ressources AlloyDB. Pour en savoir plus, consultez la page Observer 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 projet Google Cloud.
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 des insights sur les requêtes AlloyDB.
- Pour modifier les paramètres des fonctionnalités avancées des 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 des 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.
Choisissez la base de données et l'utilisateur.
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.
Cela implique les modifications de configuration suivantes par défaut:
- Active les cases à cocher Analyse des événements d'attente et Analyse des requêtes actives.
- Augmente la longueur de la requête de 4 500 octets à 100 000 octets.
- Augmente le taux d'échantillonnage maximal de 20 à 200 échantillons de plan de requête par minute.
Enregistrez les modifications. Votre instance AlloyDB pour PostgreSQL redémarre.
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 afin de surveiller ses performances et son état. Si vous souhaitez désactiver les insights sur les requêtes avancés, utilisez --no-observability-config-enabled
.
Terraform
Pour utiliser Terraform afin d'activer les insights sur les requêtes avancés sur votre instance AlloyDB, 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 la section Commandes Terraform de base.
REST v1
Cet exemple active les insights sur les requêtes avancés 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 ci-dessous, 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 de la requête JSON se présente comme suit:
{
"observabilityConfig": {
"enabled" : true,
}
}
Une fois les insights sur les requêtes avancés activés, vous pouvez modifier leurs paramètres.
Modifier les paramètres des fonctionnalités avancées
Pour modifier la configuration des insights sur les requêtes avancés d'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 L'analyse des événements d'attente 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 retarde 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 les recommandations de création d'index sur la page "Insights sur les requêtes" d'un cluster.
- Dans le champ Select run frequency (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 Permet de découvrir quelles API et routes modèle-vue-contrôleur envoient des requêtes, et de regrouper ces données pour en extraire des métriques.
- Échantillonnage de plan 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, 20 échantillons de plan de requête exécutés sont capturés par minute dans toutes les 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 de suivre les requêtes actives. Si vous souhaitez désactiver cette fonctionnalité, utilisez--no-observability-config-track-active-queries
.--observability-config-record-application-tags
: permet de stocker les tags d'application qui vous aident à déterminer les API et les routes MVC (model-view-controller) qui envoient des requêtes, ainsi que de 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 de balises 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 des é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 des insights sur les requêtes avancés dans 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 options 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 de la 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 entier compris entre 1 024 et 100 000 est valide.RECORD_APPLICATION_TAGS_VALUE
: enregistre 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
: permet de 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 la section Commandes Terraform de base.
REST v1
Cet exemple configure les paramètres avancés des 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 ci-dessous, 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 de la requête JSON qui configure tous les champs d'insights sur les requêtes avancés se présente comme suit:
{
"observabilityConfig": {
"enabled" : true,
"preserveComments": true,
"trackWaitEvents": true,
"maxQueryStringLength": 5000,
"recordApplicationTags": true,
"queryPlansPerMinute": 100,
"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 d'Insights sur les requêtes affiche la charge de la base de données, qui est une mesure du 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 distribution 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, une heure ou six heures, ou une durée personnalisée).
Dans le menu déroulant Charge de la base de données par temps d'exécution, choisissez 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 la 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 sélectionnés s'affiche dans le graphique de la 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 d'événements et de types d'attente, les dix premiers événements et types d'attente sont affichés. Si le nombre d'événements d'attente est supérieur à dix, les neuf premiers sont affichés, et les autres sont regroupés dans la catégorie Autre. Cette approche s'applique également à d'autres dimensions telles que les requêtes, les bases de données et les 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'afficher 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, une heure ou six 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'une des options suivantes:
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 listées comme suit:
- Temps d'exécution moyen (ms) : Temps moyen d'exécution de la requête
- Temps d'exécution total (ms) Durée d'exécution totale 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
- Pourcentage de charge par dimension du graphique. Le graphique en pilules indique 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 (ms). Durée d'exécution totale des requêtes pour le type d'événement d'attente spécifique.
- Nombre de types d'événements d'attente. Nombre de fois où un type d'événement d'attente spécifique s'est produit au cours de la période choisie.
- Pourcentage de charge par dimension du graphique. Le graphique en pilules indique 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 en fonction du 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 (ms). Durée d'exécution totale des 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 choisie.
- Pourcentage de charge par dimension du graphique. Le graphique en pilules indique 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 liste les 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) : Durée moyenne des requêtes dans la base de données spécifique.
- Temps total passé dans la base de données (ms). Durée d'exécution totale des requêtes dans la base de données spécifique.
- Pourcentage de charge par dimension du graphique. Le graphique à barres horizontales illustre la répartition de la dimension sélectionnée dans le menu déroulant du graphique de charge de la base de données sur 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 passé en mode utilisateur moyen (ms) Durée moyenne des requêtes sur l'utilisateur spécifique.
- Temps total passé dans l'utilisateur (ms). Durée d'exécution totale des requêtes pour l'utilisateur spécifique.
- Pourcentage de charge par dimension du graphique. Le graphique en pilules indique 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 entre les utilisateurs spécifiques.
Afficher le temps d'exécution de la requête
Les fonctionnalités avancées d'insights sur les requêtes pour AlloyDB affichent les dix premières 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 la plus populaire est celle qui a généré la plus forte charge de 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 la section Principales dimensions par charge de la base de données est affecté par les différentes valeurs de la dimension du graphique sélectionnée (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.
Consultez % 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 ayant contribué le plus à la charge de la base de données dans la base de données sélectionnée au cours de la période donnée.
Afficher les détails sur le temps d'exécution des requêtes
Vous pouvez afficher des informations sur le temps d'exécution des requêtes dans Plus d'informations, y compris les dimensions que vous avez sélectionnées dans le graphique et le tableau de la charge de la base de données, la définition de chaque événement d'attente et les données encapsulées dans la catégorie Autre.
Plus d'informations affiche également des informations complexes qui ne sont pas affichées ailleurs sur l'écran d'informations sur la requête. Ces informations incluent la définition de chaque événement d'attente.
Pour afficher les détails 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 du temps et de l'utilisation des ressources par l'exécution de requêtes (en secondes de processeur) que la requête normalisée sélectionnée a effectuée dans la base de données sélectionnée au fil du temps, 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 la 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 de caractères de la requête normalisée s'affichent, où les littéraux sont supprimés pour des raisons d'agrégation et d'informations personnelles.
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 distribuent les charges de requêtes normalisées en événements d'attente et 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 supérieure 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 afin de détecter les requêtes qui ne respectent pas le temps d'exécution prévu. Pour analyser l'historique de latence 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 plan 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, une heure ou six 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 plan 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 balises
Les insights sur les requêtes avancés offrent une surveillance centrée sur les applications et simplifient le diagnostic des performances des applications créées avec un mappage relationnel d'objets (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 balises 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 de l'application.
- Analysez la charge de la base de données.
- Affichez la charge par balise.
Pour savoir comment utiliser des tags dans Query Insights, consultez la page Améliorer les performances des requêtes à l'aide de Query Insights.
Résoudre les problèmes liés aux applications au niveau de la couche de base de données
Les insights avancés sur les requêtes fournissent une vue de trace en contexte de bout en bout pour vous aider à comprendre les problèmes liés à l'application au niveau de la couche de base de données pour une requête spécifique. Les traces d'application de bout en bout en contexte 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 délais sont envoyées à la base de données avec les informations sur le tag 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 DEBUT à FIN.
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 Operations > Trace (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, Insights sur les requêtes avancés affiche 10 ko dans les chaînes de requête. Vous pouvez augmenter l'affichage à 100 Ko.
Pourquoi ma charge de processeur est-elle supérieure à la ligne de cœur maximale 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 auxquels vous pouvez accéder via Stackdriver. Ces métriques sont disponibles à l'aide de l'API Cloud Monitoring avec des insights avancés sur les requêtes. Pour en savoir plus, consultez la section MétriquesGoogle Cloud .
Quelle est la longueur maximale de la chaîne de requête ?
Pour le plug-in standard d'insights sur les requêtes, la longueur maximale de la chaîne de requête est limitée à 4,5 ko. Pour les insights sur les requêtes avancés, 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 pour AlloyDB dans la réplication interrégionale ?
Vous ne pouvez pas activer les fonctionnalités d'insights avancés sur les requêtes pour AlloyDB sur les clusters avec des instances secondaires. Avant de créer une instance secondaire sur un cluster, vous devez désactiver les fonctionnalités avancées des insights sur les requêtes pour AlloyDB sur toutes les instances du cluster si elles sont déjà activées.
Étape suivante
- 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