Cette page explique comment configurer des indicateurs de base de données pour Cloud SQL et répertorie les indicateurs que vous pouvez définir pour votre instance. Les indicateurs de base de données sont utilisés pour de nombreuses opérations, y compris l'ajustement des paramètres et des options SQL Server, ainsi que la configuration et le réglage d'une instance.
Lorsque vous définissez, supprimez ou modifiez un indicateur pour une instance de base de données, il peut être nécessaire de redémarrer cette base de données. La nouvelle valeur de l'indicateur est ensuite conservée pour l'instance, jusqu'à ce que vous la supprimiez. Si l'instance est la source d'une instance dupliquée et est redémarrée, elle est également redémarrée pour s'aligner sur la configuration actuelle de l'instance.
Configurer des options de base de données
Les sections suivantes décrivent les tâches courantes de gestion des indicateurs.
Définir une option de base de données
Console
- Dans la consoleGoogle Cloud , sélectionnez le projet contenant l'instance Cloud SQL pour laquelle vous souhaitez définir une option de base de données.
- Ouvrez l'instance et cliquez sur Modifier.
- Accédez à la section Options.
- Pour définir un nouvel indicateur sur l'instance, cliquez sur Ajouter un élément, choisissez-le dans le menu déroulant et définissez sa valeur.
- Cliquez sur Enregistrer pour enregistrer les modifications.
- Confirmez les modifications effectuées dans la section Indicateurs à partir de la page de présentation.
gcloud
Modifiez l'instance :
gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2
Cette commande va écraser tous les indicateurs de base de données précédemment définis. Pour les conserver et en ajouter d'autres, vous devez inclure les valeurs de tous les indicateurs que vous souhaitez définir sur l'instance. Tout indicateur qui n'est pas spécifiquement inclus est défini à sa valeur par défaut. Pour les indicateurs sans valeur, spécifiez le nom de l'indicateur suivi d'un signe égal ("=").
Par exemple, pour définir les indicateurs 1204
, remote access
et remote query timeout (s)
, vous pouvez exécuter la commande suivante :
gcloud sql instances patch INSTANCE_NAME \ --database-flags="1204"=on,"remote access"=on,"remote query timeout (s)"=300
Terraform
Pour ajouter des options de base de données, utilisez une ressource Terraform.
Appliquer les modifications
Pour appliquer votre configuration Terraform dans un projet Google Cloud , suivez les procédures des sections suivantes.
Préparer Cloud Shell
- Lancez Cloud Shell.
-
Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.
Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.
Préparer le répertoire
Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).
-
Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension
.tf
, par exemplemain.tf
. Dans ce tutoriel, le fichier est appelémain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.
Copiez l'exemple de code dans le fichier
main.tf
que vous venez de créer.Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.
- Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
- Enregistrez les modifications.
-
Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
terraform init
Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option
-upgrade
:terraform init -upgrade
Appliquer les modifications
-
Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
terraform plan
Corrigez les modifications de la configuration si nécessaire.
-
Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant
yes
lorsque vous y êtes invité :terraform apply
Attendez que Terraform affiche le message "Apply completed!" (Application terminée).
- Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud , accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.
Supprimer les modifications
Pour supprimer vos modifications, procédez comme suit :
- Pour désactiver la protection contre la suppression, définissez l'argument
deletion_protection
surfalse
dans le fichier de configuration Terraform.deletion_protection = "false"
- Appliquez la configuration Terraform mise à jour en exécutant la commande suivante et en saisissant
yes
lorsque vous y êtes invité :terraform apply
-
Supprimez les ressources précédemment appliquées à votre configuration Terraform en exécutant la commande suivante et en saisissant
yes
à la requête :terraform destroy
REST v1
Pour définir un indicateur pour une base de données existante, procédez comme suit :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Corps JSON de la requête :
{ "settings": { "databaseFlags": [ { "name": "flag_name", "value": "flag_value" } ] } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Si des indicateurs sont déjà configurés pour la base de données, modifiez la commande précédente pour les inclure. La commande PATCH
remplace les indicateurs existants par ceux spécifiés dans la requête.
REST v1beta4
Pour définir un indicateur pour une base de données existante, procédez comme suit :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Corps JSON de la requête :
{ "settings": { "databaseFlags": [ { "name": "flag_name", "value": "flag_value" } ] } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Si des indicateurs sont déjà configurés pour la base de données, modifiez la commande précédente pour les inclure. La commande PATCH
remplace les indicateurs existants par ceux spécifiés dans la requête.
Réinitialiser les valeurs par défaut des options
Console
- Dans la consoleGoogle Cloud , sélectionnez le projet contenant l'instance Cloud SQL pour laquelle vous souhaitez réinitialiser toutes les options.
- Ouvrez l'instance et cliquez sur Modifier.
- Ouvrez la section Indicateurs de base de données.
- Cliquez sur le symbole X à côté de tous les indicateurs affichés.
- Cliquez sur Enregistrer pour enregistrer les modifications.
gcloud
Réinitialiser les valeurs par défaut des indicateurs d'une instance :
gcloud sql instances patch INSTANCE_NAME \ --clear-database-flags
Vous êtes invité à confirmer le redémarrage de l'instance.
REST v1
Pour effacer tous les indicateurs sur une instance existante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Corps JSON de la requête :
{ "settings": { "databaseFlags": [] } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
REST v1beta4
Pour effacer tous les indicateurs sur une instance existante :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Corps JSON de la requête :
{ "settings": { "databaseFlags": [] } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Déterminer les options de base de données définies pour une instance
Pour savoir quelles options ont été définies pour une instance Cloud SQL :
Console
- Dans la consoleGoogle Cloud , sélectionnez le projet contenant l'instance Cloud SQL pour laquelle vous souhaitez afficher les options de base de données définies.
- Sélectionnez l'instance pour ouvrir la page Présentation de l'instance.
Les indicateurs de base de données définis sont répertoriés dans la section Indicateurs de base de données.
gcloud
Afficher l'état de l'instance :
gcloud sql instances describe INSTANCE_NAME
Dans le résultat, les indicateurs de base de données sont répertoriés sous la section settings
dans la collection databaseFlags
. Pour en savoir plus sur la représentation des options dans le résultat, consultez la page Représentation des ressources d'instances.
REST v1
Pour répertorier les indicateurs configurés pour une instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Dans le résultat, recherchez le champ databaseFlags
.
REST v1beta4
Pour répertorier les indicateurs configurés pour une instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Dans le résultat, recherchez le champ databaseFlags
.
Indicateurs compatibles
Cloud SQL n'accepte que les indicateurs listés dans cette section.
Options spéciales
Cette section contient des informations supplémentaires sur les options Cloud SQL pour SQL Server.
max degree of parallelism (MAXDOP)
Max degree of parallelism (MAXDOP)
est une option de base de données Microsoft disponible dans Cloud SQL pour SQL Server. Cet indicateur vous permet de limiter le nombre maximal de threads utilisés lors de l'exécution d'une seule requête dans un plan parallèle.
Si vous conservez la valeur par défaut 0
, l'instance de base de données utilise tous les processeurs disponibles. Toutefois, cette méthode n'est pas toujours efficace ni pratique si vous gérez des instances avec des centaines de bases de données.
Nous vous recommandons de suivre les recommandations de la documentation Microsoft lorsque vous définissez la valeur de l'indicateur, qui peut varier en fonction du nombre de nœuds NUMA et du nombre de processeurs logiques disponibles.
Vous pouvez vérifier la configuration du nœud NUMA à l'aide de la vue de gestion dynamique (DMV) de sys.dm_os_sys_info. Pour vérifier la configuration du nœud NUMA, utilisez un extrait de code semblable à ce qui suit :
SELECT socket_count,cores_per_socket,numa_node_count
FROM sys.dm_os_sys_info
Bien que vous puissiez utiliser MAXDOP pour limiter le nombre maximal de processeurs que vous souhaitez autoriser pour l'exécution de plans parallèles, vous pouvez également utiliser la fonctionnalité Seuil de coût pour le parallélisme pour indiquer le coût minimal que vous souhaitez définir pour un processeur unique avant d'étendre les opérations parallèles à un autre processeur. Ces fonctionnalités vous permettent de mieux contrôler l'efficacité et le coût de l'exécution de plans parallèles.
Les valeurs recommandées pour ces fonctionnalités varient au cas par cas et dépendent des besoins de votre serveur et de la charge de travail de votre application.
Pour obtenir de l'aide afin de déterminer les valeurs MAXDOP et de seuil de coût pour le parallélisme les plus adaptées à vos serveurs, consultez les ressources suivantes :
- Configuration du serveur : degré maximal de parallélisme
- Bonnes pratiques : paramètres de base de données à modifier
La modification de la valeur par défaut permet de résoudre les problèmes potentiels suivants :
- Si le paramètre
max degree of parallelism (MAXDOP)
est défini sur0
, les instances ou les applications clientes qui nécessitent des téléchargements SharePoint échouent. Le téléchargement SharePoint exécute une vérification préalable qui nécessite une valeur numérique pour l'indicateur et n'accepte pas de valeur inférieure à 1. - Si vous laissez l'indicateur MAXDOP sur la valeur par défaut
0
, cela signifie qu'il n'y a pas de limite et que tous les processeurs disponibles peuvent être utilisés pour les opérations parallèles. Si cette valeur peut convenir aux serveurs qui exécutent régulièrement de petites requêtes, elle peut poser un problème de coût si vous devez également exécuter périodiquement de très grandes requêtes.
L'option max degree of parallelism (MAXDOP)
vous permet de contrôler le nombre de threads à trois niveaux :
- Au niveau de l'instance, à l'aide d'indicateurs de base de données
- Portée de la base de données, à l'aide de TSQL
- Au niveau de la requête, à l'aide d'indices de requête
Notez que si l'instance est redimensionnée, la valeur de l'indicateur reste inchangée.
max server memory (mb)
L'indicateur max server memory (mb)
limite la quantité de mémoire que Cloud SQL peut allouer à ses pools internes.
Nous vous recommandons de ne pas configurer de valeur pour cette option et de laisser Cloud SQL la gérer pour vous. Si vous devez gérer manuellement cette valeur, nous vous recommandons généralement de définir la valeur max server memory (mb)
sur environ 80 % de la mémoire disponible pour empêcher SQL Server de consommer toute la mémoire.
À l'inverse, pour les instances disposant d'une grande quantité de mémoire, 80 % de la mémoire disponible peuvent être une valeur trop faible et entraîner un gaspillage de mémoire.
Si vous ne définissez pas de valeur pour cette option, Cloud SQL gère automatiquement la valeur en fonction de la taille de la RAM de votre instance. De plus, si vous redimensionnez votre instance, Cloud SQL ajuste automatiquement la valeur de l'option pour répondre à nos recommandations concernant la nouvelle taille de l'instance. Cette opération de redimensionnement supprime également toute valeur définie manuellement pour cet indicateur. Cela permet à votre base de données d'utiliser les ressources plus efficacement en évitant la surallocation, en réduisant le risque de plantage en raison de problèmes de mémoire insuffisante et en contribuant à éviter la dégradation des performances de votre instance.
Pour en savoir plus, consultez Mémoire serveur maximale et Optimiser l'utilisation intensive de mémoire.
Dépannage
Problème | Dépannage |
---|---|
Vous souhaitez modifier le fuseau horaire d'une instance Cloud SQL. |
Pour savoir comment modifier le fuseau horaire d'une instance, consultez Paramètres d'instance. Dans Cloud SQL pour SQL Server, vous pouvez utiliser la fonction |
Étapes suivantes
- Découvrez-en davantage sur les options de configuration de SQL Server.