Surveillance de charge d’entrepôt

L’interface Web fournit un graphique de charge de requête qui représente des requêtes simultanées traitées par un entrepôt sur une période de deux semaines. La charge de requête d’entrepôt mesure le nombre moyen de requêtes en cours d’exécution ou mises en file d’attente dans un intervalle spécifique.

Dans ce chapitre :

Affichage du graphique de surveillance des charges

Note

Afin d’afficher le graphique de surveillance des charges, vous devez utiliser un rôle possédant le privilège MONITOR sur l’entrepôt.

Pour voir le graphique :

Interface Web

Cliquez sur Warehouses Warehouses tab » <nom_entrepôt>

La page Warehouse Load Over Time apparaît avec un diagramme et un curseur pour sélectionner la période de temps à afficher dans le graphique. Par défaut, le graphique affiche les 8 dernières heures par intervalles de 5 minutes.

Snowflake web interface warehouse load monitoring chart

Utilisation du curseur

Pour utiliser le graphique, utilisez d’abord le curseur pour sélectionner la plage de temps à afficher dans le graphique. Vous pouvez sélectionner une plage de 8 heures (minimum) à 14 jours (maximum). Le graphique affiche la charge de requête totale par intervalles de 5 minutes à 1 heure en fonction de la plage sélectionnée. Lorsque vous modifiez la taille de la plage, les intervalles changent dynamiquement pour conserver l’échelle adéquate.

Vous pouvez également faire glisser le curseur jusqu’à une position quelconque dans la plage de 14 jours pour afficher la charge pendant cette période de temps.

Comprendre le diagramme

Survolez une barre pour afficher le nombre moyen de requêtes traitées par l’entrepôt pendant la période représentée. La barre affiche la charge individuelle pour chaque statut de requête qui s’est produit dans l’intervalle :

Statut de requête

Description

Running

Requêtes qui étaient en cours d’exécution pendant l’intervalle. Notez que leur exécution peut avoir commencé avant et continué après l’intervalle.

Queued

Requêtes en attente d’exécution en raison d’une surcharge de l’entrepôt (c’est-à-dire dans l’attente que les autres requêtes se terminent et libèrent des ressources de calcul).

Queued (Provisioning)

Les requêtes en attente pendant que l’entrepôt mettait les serveurs en service. Généralement, cela ne se produit que dans les premières minutes qui suivent la reprise d’un entrepôt.

Queued (Repairing)

Les requêtes en attente pendant que l’entrepôt réparait les serveurs. Se produit rarement et ne dure généralement pas plus de quelques minutes.

Comment la charge de requête est-elle calculée ?

La charge de requête est calculée en divisant le temps d’exécution (en secondes) de toutes les requêtes dans un intervalle par le temps total (en secondes) de l’intervalle.

Prenons l’exemple suivant :

Snowflake Warehouse Load Monitoring Example

Le graphique montre que, pendant l’intervalle de cinq minutes, la charge provenant des requêtes en cours d’exécution était de .92 et celle des requêtes en attente (en raison de la surcharge de l’entrepôt) de .08. La table suivante illustre comment ces valeurs ont été calculées sur la base des 5 requêtes qui ont contribué à la charge de l’entrepôt pendant l’intervalle :

Requête

Statut

Temps d’exécution/intervalle (en secondes)

Charge de requête

Requête 1

En cours d’exécution

30 / 300

0.10

Requête 2

En cours d’exécution

201 / 300

0.67

Requête 3

En cours d’exécution

15 / 300

0.05

Requête 4

En cours d’exécution

30 / 300

0.10

Charge en cours d’exécution

0.92

Requête 5

Mise en file d’attente

24 / 300

0.08

Charge mise en file d’attente

0.08

TOTAL WAREHOUSE LOAD

1.00

Pour déterminer le nombre réel de requêtes en cours (et la durée de chaque requête) pendant un intervalle spécifique, consultez la page History History tab. Sur la page, filtrez l’historique des requêtes par entrepôt, puis faites défiler vers le bas jusqu’à l’intervalle que vous avez spécifié dans le graphique de surveillance des charges.

Utilisation du graphique de surveillance des charges pour prendre des décisions

Le graphique de surveillance des charges peut vous aider à prendre des décisions relatives à la gestion de vos entrepôts en affichant les tendances d’utilisation actuelles et anciennes.

Performances de requête lentes

Si vous remarquez qu’une requête s’exécute lentement, vérifiez si un entrepôt surchargé fait que la requête entre en concurrence avec d’autres pour obtenir des ressources, ou si celle-ci est mise en file d’attente.

  • Si la charge de requête en cours d’exécution est élevée ou s’il y a une file d’attente, pensez à lancer un entrepôt séparé et à déplacer les requêtes en file d’attente vers cet entrepôt. En outre, si vous utilisez des entrepôts multi-clusters, vous pouvez modifier vos paramètres multi-clusters pour ajouter des clusters supplémentaires afin de gérer une plus grande simultanéité à l’avenir.

    Snowflake Warehouse Showing a High Load
  • Si la charge de requête en cours d’exécution est faible, alors vous pouvez redimensionner l’entrepôt pour fournir plus de ressources de calcul. Vous devrez redémarrer la requête pour tirer profit des ressources supplémentaires.

    Snowflake Warehouse showing a low load

Performances de pointe des requêtes

Analysez la charge de travail quotidienne de l’entrepôt au cours des deux dernières semaines. Si vous constatez des pics d’utilisation récurrents, envisagez de déplacer une partie de la charge de travail entraînant des pics vers son propre entrepôt, et d’exécuter éventuellement la charge de travail restante sur un cluster plus petit. En outre, vous pouvez modifier vos paramètres multi-clusters pour ajouter des clusters supplémentaires afin de gérer une plus grande simultanéité à l’avenir.

Snowflake Warehouse showing daily usage over a two-Week period

Si vous remarquez que votre charge de travail actuelle est considérablement plus élevée que la normale, ouvrez la page History History tab pour rechercher quelles requêtes provoquent une charge plus élevée.

Utilisation de crédit excessive

Analysez la charge de travail quotidienne de l’entrepôt au cours des deux dernières semaines. Si le graphique montre des périodes récurrentes pendant lesquelles l’entrepôt était en fonction et consommait des crédits, mais que la charge de requête totale était inférieure à 1 pendant de longues périodes, l’utilisation de l’entrepôt est inefficace. Vous pouvez envisager l’une des mesures suivantes :

  • Diminuer la taille de l’entrepôt. Notez que diminuer la taille de l’entrepôt augmente généralement le temps d’exécution des requêtes.

  • Pour un entrepôt multi-clusters, diminuer la valeur du paramètre MIN_CLUSTER_COUNT.