Tous les produits
Search
Centre de documentation

PolarDB:Configure parallel resource control policies

Dernière mise à jour :Aug 11, 2026

PolarDB prend en charge plusieurs politiques pour contrôler le degré de parallélisme (DOP) au niveau global ou par requête, et pour basculer vers une exécution séquentielle lorsque la charge des ressources est élevée.

Remarque

Tous les paramètres du cluster dans la console PolarDB incluent le préfixe de compatibilité du fichier de configuration MySQL loose_. Lorsque vous modifiez des paramètres dans la console, utilisez les noms de paramètres qui incluent le préfixe loose_.

Fonctionnement

Lorsqu'une requête parallèle arrive, PolarDB applique trois niveaux de contrôle :

  1. Politique de mise en file d'attente — Si le nombre total de workers parallèles en cours d'exécution atteint loose_max_parallel_workers, les nouvelles requêtes parallèles entrent dans une file d'attente premier entré, premier sorti (FIFO) au lieu de s'exécuter immédiatement.

  2. Limite de capacité de la file d'attente — Si le DOP total des requêtes en attente atteint loose_queuing_parallel_degree_limit, la file d'attente est considérée comme pleine et les requêtes suivantes basculent vers une exécution séquentielle.

  3. Délai d'expiration de la file d'attente — Si une requête attend dans la file d'attente plus longtemps que loose_pq_max_queuing_time, elle est retirée de la file d'attente et bascule vers une exécution séquentielle.

Le fait que PolarDB tente ou non une exécution parallèle dépend de la politique DOP définie par loose_parallel_degree_policy.

Paramètres DOP

Remarque

Tous les paramètres répertoriés ci-dessous nécessitent le préfixe loose_ lorsqu'ils sont configurés dans la console PolarDB.

Limites de mise en file d'attente et de workers

Paramètre Portée Valeur par défaut Description
loose_max_parallel_workers Global 2 × cœurs CPU Nombre maximal de workers parallèles pour toutes les requêtes parallèles simultanées sur un seul nœud. Lorsque cette limite est atteinte, les nouvelles requêtes parallèles entrent dans une file d'attente FIFO. Dans un cluster serverless, cette valeur est ajustée automatiquement à mesure que les spécifications des nœuds évoluent. Valeurs valides : 1–10 000.
loose_queuing_parallel_degree_limit Global 64 DOP total maximal pour les requêtes en attente dans la file d'attente. Lorsque cette limite est atteinte, la file d'attente est pleine et les requêtes parallèles supplémentaires basculent vers une exécution séquentielle. Valeurs valides : 0–10 000.
loose_pq_max_queuing_time Global, session 200 ms Temps maximal pendant lequel une requête peut attendre dans la file d'attente avant de basculer vers une exécution séquentielle. Valeurs valides : 0–18 446 744 073 709 551 615 ms.

Politique DOP

Paramètre Portée Valeur par défaut Description
loose_parallel_degree_policy Global REPLICA_AUTO Contrôle la manière dont PolarDB sélectionne le DOP pour chaque requête. Valeurs valides : TYPICAL, AUTO, REPLICA_AUTO.

Comparaison des politiques :

Valeur Qui exécute les requêtes parallèles Comment le DOP est sélectionné
TYPICAL Nœud principal et nœuds en lecture seule Fixe : utilise la valeur de loose_max_parallel_degree, indépendamment de l'utilisation actuelle du CPU
AUTO Nœud principal et nœuds en lecture seule Adaptatif : PolarDB active ou désactive l'exécution parallèle en fonction de l'utilisation du CPU, de l'utilisation de la mémoire et des opérations d'entrée/sortie par seconde (IOPS), et sélectionne le DOP en fonction du coût de la requête
REPLICA_AUTO (par défaut) Nœuds en lecture seule uniquement Adaptatif : identique à AUTO, mais le nœud principal utilise toujours l'exécution séquentielle

Utilisez REPLICA_AUTO lorsque vous souhaitez protéger le nœud principal contre la surcharge des requêtes parallèles tout en permettant aux nœuds en lecture seule d'adapter les performances des requêtes de manière dynamique.

Seuils basés sur les ressources

Ces paramètres s'appliquent lorsque loose_parallel_degree_policy est défini sur AUTO ou REPLICA_AUTO. PolarDB désactive les requêtes parallèles sur un nœud lorsque l'un des seuils est dépassé.

Paramètre Portée Valeur par défaut Comportement du seuil
loose_auto_dop_cpu_pct_hwm Global 70 Désactive les requêtes parallèles lorsque l'utilisation du CPU dépasse ce pourcentage. Valeurs valides : 0–100.
loose_auto_dop_mem_pct_hwm Global 90 Désactive les requêtes parallèles lorsque l'utilisation de la mémoire dépasse ce pourcentage. Valeurs valides : 0–100.
loose_auto_dop_iops_pct_hwm Global 80 Désactive les requêtes parallèles lorsque l'utilisation des IOPS dépasse ce pourcentage. Valeurs valides : 0–100.

Surveiller l'exécution des requêtes parallèles

Utilisez les variables d'état suivantes pour suivre la fréquence à laquelle les requêtes parallèles basculent vers une exécution séquentielle.

Variable Portée Description
PQ_refused_over_total_workers Global, session Nombre de requêtes qui ont basculé vers une exécution séquentielle parce que loose_max_parallel_workers a été atteint. Une augmentation du nombre indique que la limite de workers est peut-être trop faible pour votre charge de travail. Envisagez d'augmenter loose_max_parallel_workers.
PQ_refused_over_max_queuing_time Global, session Nombre de requêtes qui ont basculé vers une exécution séquentielle en raison d'un délai d'expiration de la file d'attente. Une augmentation du nombre indique que les requêtes attendent trop longtemps — envisagez d'augmenter loose_max_parallel_workers ou loose_queuing_parallel_degree_limit, ou d'augmenter loose_pq_max_queuing_time.
Total_running_parallel_workers Global Nombre actuel de workers parallèles actifs. Utilisez cette variable pour évaluer à quel point vous êtes proche de la limite loose_max_parallel_workers.