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 :
- .alter-merge workload_group
- .create-or-alter workload_group
- .drop workload_group
- .show workload_group
Stratégies de groupe de charge de travail
Les stratégies suivantes peuvent être définies par groupe de charge de travail :
- Stratégie de limites des demandes
- Stratégie de limites de taux de demandes
- Stratégie d’application des limites de taux de demandes
- Stratégie de mise en file d’attente des demandes
- Stratégie de cohérence des requêtes
Groupes de charges de travail intégrés
Les groupes de charges de travail prédéfinis sont les suivants :
internal
groupe de charge de travaildefault
groupe de charge de travail$materialized-views
groupe de charge de travail
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 default
straté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.
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour