Mise à l’échelle de pools Apache Spark dans Azure Synapse Analytics
Durant la création d’un pool Spark, il est possible de définir un nombre minimal et un nombre maximal de nœuds quand l’option Mise à l’échelle automatique est sélectionnée.
Le nombre minimal de nœuds ne peut pas être inférieur à trois.
La mise à l’échelle automatique surveille :
Métrique
Description
Total Pending CPU
Nombre total de cœurs requis pour commencer l’exécution de tous les nœuds en attente.
Total Pending Memory
Mémoire totale (en Mo) nécessaire pour commencer l’exécution de tous les nœuds en attente.
Total Free CPU
Somme de tous les cœurs inutilisés sur les nœuds actifs.
Total Free Memory
Somme de la mémoire inutilisée (en Mo) sur les nœuds actifs.
Used Memory per Node
Charge sur un nœud. Un nœud sur lequel 10 Go de mémoire sont utilisés est considéré comme étant plus sollicité qu’un nœud avec 2 Go de mémoire utilisés.
There are no rows in this table
Mis à l’échelle dans les conditions suivantes :
Scale-up
Scale-down
« Total pending CPU » est supérieur à la valeur de « Total free CPU » pendant plus de 1 minute.
« Total pending CPU » est inférieur à la valeur de « Total free CPU » pendant plus de 2 minutes.
« Total pending memory » est supérieur à la valeur de « Total free memory » pendant plus de 1 minute.
« Total pending memory » est inférieur à la valeur de « Total free memory » pendant plus de 2 minutes.
There are no rows in this table
Mettre en pause le calcul dans Azure Synapse Analytics
Dans le portail Azure, vous pouvez utiliser la commande Mettre en pause dans le pool SQL dédié.
Elle peut aussi être utilisée dans Azure Synapse Studio pour les pools Apache Spark, dans le hub Gérer.
Gérer des charges de travail dans Azure Synapse Analytics [WiP]
Utiliser Azure Advisor pour passer en revue des recommandations
Azure Advisor adresse des messages personnalisés avec des informations sur les bonnes pratiques à mettre en œuvre pour optimiser la configuration de vos services Azure.
Portail Azure > Advisor
Domaines suivants :
Coût
Sécurité
Fiabilité
Excellence opérationnelle
Performances
Fonctionnement d’Azure Synapse Analytics avec Azure Advisor
Azure Synapse Analytics capture les données de télémétrie suivantes :
Informations sur l’asymétrie des données et sur les tables répliquées.
Données statistiques sur les colonnes.
Données d’utilisation de TempDB.
Cache adaptatif.
Les recommandations d’Azure Advisor sont vérifiées toutes les 24 heures.
Utiliser des vues de gestion dynamique pour identifier et résoudre les problèmes de performance des requêtes
Les vues de gestion dynamique permettent de superviser l’activité des pools SQL Azure Synapse Analytics à l’aide du langage Transact-SQL.
Identifier et de résoudre les goulots d’étranglement qui nuisent aux performances des charges de travail actives.
Egalement utilisées par d’autres services comme Azure Advisor pour fournir des recommandations sur Azure Synapse Analytics.
90 vues de gestion dynamique différentes.
récupérer des informations sur les aspects suivants du service :
Informations et activité de connexion
Requêtes et demandes d’exécution SQL
Informations d’index et de statistiques
Activité de blocage et de verrouillage de ressources
-- Find the distributed query plan steps for a specific query.
-- Replace request_id with value from Step 1.
SELECT*FROM sys.dm_pdw_request_steps
WHERE request_id ='QID####'
ORDERBY step_index;
Utiliser l’ID de requête pour récupérer le plan SQL distribué (DSQL) des requêtes dans sys.dm_pdw_request_steps.
Envisagez d’optimiser vos distributions de table pour réduire le déplacement des données
Étape 3
Utilisez l’ID de requête et l’index de l’étape pour récupérer des détails dans sys.dm_pdw_sql_requests :
-- Find the distribution run times for a SQL step.
-- Replace request_id and step_index with values from Step 1 and 3.
SELECT*FROM sys.dm_pdw_sql_requests
WHERE request_id ='QID####'AND step_index =2;
Quand l’étape de la requête est en cours d’exécution, DBCC PDW_SHOWEXECUTIONPLAN peut être utilisé pour récupérer le plan estimé de SQL Server dans le cache du plan SQL Server pour l’étape en cours d’exécution dans une distribution particulière
-- Find the SQL Server execution plan for a query running on a specific SQL pool or control node.
-- Replace distribution_id and spid with values from previous query.
DBCC PDW_SHOWEXECUTIONPLAN(1,78);
Étape 4
Utilisez l’ID de requête et l’index de l’étape pour récupérer des informations sur une étape de déplacement des données en cours d’exécution sur chaque distribution dans sys.dm_pdw_dms_workers.
-- Find information about all the workers completing a Data Movement Step.
-- Replace request_id and step_index with values from Step 1 and 3.
SELECT*FROM sys.dm_pdw_dms_workers
WHERE request_id ='QID####'AND step_index =2;
Vérifiez la colonne total_elapsed_time pour voir si une distribution particulière prend plus de temps que les autres pour le déplacement des données.
Pour la distribution de longue durée, vérifiez la colonne rows_processed pour voir si le nombre de lignes déplacées dans le cadre de cette distribution est nettement plus élevé qu’avec les autres.
Vous pouvez aussi superviser d’autres aspects des pools SQL Azure Synapse, notamment :