Partager via


Groupes de charges de travail

Les groupes de charge de travail vous permettent de regrouper des ensembles de commandes et de requêtes de gestion basées sur des caractéristiques partagées, et d’appliquer des stratégies pour contrôler les limites par requête et le taux de demandes pour chacun de ces groupes.

Avec les stratégies de groupe de charge de travail, les groupes de charge de travail servent de système de gouvernance des ressources pour les demandes entrantes au cluster. Lorsqu’une demande est lancée, elle est classée dans un groupe de charge de travail. La classification est basée sur une fonction définie par l’utilisateur définie dans le cadre d’une stratégie de classification des demandes. La requête suit les stratégies affectées au groupe de charge de travail désigné tout au long de son exécution.

Les groupes de charge de travail sont définis au niveau du cluster, et jusqu’à 10 groupes personnalisés peuvent être définis en plus des trois groupes de charge de travail intégrés.

Notes

Les requêtes qui ne sont pas des requêtes ou des commandes de gestion, telles que les demandes d’ingestion en streaming, ne sont pas incluses dans l’étendue des groupes de charge de travail.

Cas d’usage pour les groupes de charges de travail personnalisés

La liste suivante couvre certains cas d’usage courants pour la création de groupes de charges de travail personnalisés :

  • Protégez-vous contre les requêtes d’emballement : Créez un groupe de charge de travail avec une stratégie de limites de demandes pour définir des restrictions sur l’utilisation des ressources et le parallélisme pendant l’exécution des requêtes. Par exemple, cette stratégie peut régler la taille du jeu de résultats, la mémoire par itérateur, la mémoire par nœud, le temps d’exécution et l’utilisation des ressources du processeur.

  • Contrôler le taux de demandes : Créez un groupe de charge de travail avec une stratégie de limite de débit de requêtes pour gérer le comportement des demandes simultanées provenant d’un principal ou d’une application spécifique. Cette stratégie peut limiter le nombre de demandes simultanées, le nombre de demandes dans une période donnée et le nombre total de secondes processeur par période. Bien que votre cluster soit fourni avec des limites par défaut, telles que des limites de requête, vous avez la possibilité d’ajuster ces limites en fonction de vos besoins.

  • Créez des environnements partagés : Imaginez un scénario où 3 équipes clientes différentes exécutent des requêtes et des commandes sur un cluster partagé, voire accèdent à des bases de données partagées. Si vous facturez ces équipes en fonction de leur utilisation des ressources, vous pouvez créer trois groupes de charge de travail distincts, chacun avec des limites uniques. Ces groupes de charge de travail vous permettent de gérer et de surveiller efficacement l’utilisation des ressources de chaque équipe cliente.

  • Surveiller l’utilisation des ressources : Les groupes de charge de travail peuvent vous aider à créer des rapports périodiques sur la consommation de ressources d’une application ou d’un principal donné. Par instance, si ces principaux représentent des clients différents, ces rapports peuvent faciliter la facturation précise. Pour plus d’informations, consultez Surveiller les demandes par groupe de charge de travail.

Créer et gérer des groupes de charge de travail

Utilisez les commandes suivantes pour gérer les groupes de charge de travail et leurs stratégies :

Stratégies de groupe de charge de travail

Les stratégies suivantes peuvent être définies par groupe de charge de travail :

Groupes de charges de travail intégrés

Les groupes de charges de travail prédéfinis sont les suivants :

Groupe de charge de travail par défaut

Les demandes sont classées dans le default groupe dans les conditions suivantes :

  • il n'existe pas de critères pour classer une demande ;
  • Une tentative de classification de la demande dans un groupe inexistant a été effectuée.
  • Un échec de classification générale s’est produit.

Vous pouvez :

  • Modifiez les critères utilisés pour le routage de ces demandes.
  • Modifiez les stratégies qui s’appliquent au groupe de default charge de travail.
  • Classifiez les demandes dans le groupe de default charge de travail.

Pour surveiller ce qui est classé dans le groupe de default charge de travail, consultez Surveiller les demandes par groupe de charge de travail.

Notes

Certains clusters peuvent avoir une limite maximale de requêtes simultanées définie par le biais de la stratégie de limitation des requêtes déconseillée. Dans ces clusters, cette limite a été automatiquement appliquée aux defaultstratégies de limite de débit de requêtes du groupe de charge de travail. Alors que l’ancienne limite affectait uniquement les requêtes, la nouvelle s’applique à toutes les requêtes, y compris aux requêtes et aux commandes de gestion.

Groupe de charge de travail interne

Le internal groupe de charge de travail est rempli avec des demandes destinées uniquement à un usage interne.

Vous ne pouvez pas :

  • Modifiez les critères utilisés pour le routage de ces demandes.
  • Modifiez les stratégies qui s’appliquent au groupe de internal charge de travail.
  • Classifiez les demandes dans le groupe de internal charge de travail.

Pour surveiller ce qui est classé dans le groupe de internal charge de travail, consultez Surveiller les demandes par groupe de charge de travail.

Groupe de charge de travail affichages matérialisés

Le $materialized-views groupe de charge de travail s’applique au processus de matérialisation des vues matérialisées. Pour plus d’informations sur le fonctionnement des vues matérialisées, consultez Vue d’ensemble des vues matérialisées.

Vous pouvez modifier les valeurs suivantes dans la stratégie de limites de requête du groupe de charge de travail :

  • MaxMemoryPerQueryPerNode
  • MaxMemoryPerIterator
  • MaxFanoutThreadsPercentage
  • MaxFanoutNodesPercentage

Notes

Vous ne pouvez pas modifier les critères utilisés pour le routage de ces demandes.

Surveiller les demandes par groupe de charge de travail

Les commandes système indiquent le groupe de charge de travail dans lequel une requête a été classifiée. Vous pouvez utiliser ces commandes pour agréger l’utilisation des ressources par groupe de charge de travail pour les demandes terminées.

Les mêmes informations peuvent également être consultées et analysées dans Azure Monitor Insights.