View a markdown version of this page

Suivez l'utilisation de la capacité des services - AWS Batch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Suivez l'utilisation de la capacité des services

AWS Batch fournit plusieurs opérations d'API que vous pouvez utiliser ensemble pour suivre l'utilisation de la capacité pour les tâches de service dans une file d'attente. Le flux de travail de surveillance dépend du type de politique de planification attachée à votre file d'attente de tâches.

Pour les files d'attente de tâches qui utilisent une politique de planification du premier entré, premier sorti (FIFO) :

  1. Vérifiez l'utilisation totale de la file d'attente (GetJobQueueSnapshot).

  2. Répertoriez les tâches par statut, par exemple SCHEDULED et RUNNING (ListServiceJobs).

  3. Examinez n'importe quelle tâche (DescribeServiceJob).

Pour les files d'attente de travail qui utilisent une politique de planification basée sur le partage équitable (FSS) ou la gestion des quotas (QM) :

  1. Vérifiez l'utilisation totale de la file d'attente (GetJobQueueSnapshot).

  2. Afficher le taux d'utilisation par action (GetJobQueueSnapshot).

  3. Répertoriez les tâches par statut et par partage qui contribuent activement à leur utilisation, telles que SCHEDULED and RUNNING (ListServiceJobs).

  4. Examinez n'importe quelle tâche (DescribeServiceJob).

Les sections suivantes décrivent chaque étape en détail.

Pour plus d'informations sur le suivi de l'utilisation de la capacité pour les tâches de calcul ECS, EKS et Fargate, consultez. Suivez l'utilisation de la capacité des tâches informatiques

Vérifier l'utilisation des files d'attente

Le queueUtilization champ de la GetJobQueueSnapshotréponse fournit une point-in-time vue de la capacité de calcul consommée par les tâches expédiées depuis une file d'attente. La capacité est mesurée en nombre d'instances pour les emplois de service.

Pour les files d'attente de travail qui utilisent une politique de planification basée sur le partage équitable ou la gestion des quotas, la réponse inclut également une ventilation par action afin que vous puissiez voir comment la capacité est répartie entre les actions. Pour de plus amples informations, veuillez consulter Afficher le taux d'utilisation par action.

Afficher le taux d'utilisation des capacités (AWS CLI)

Utilisez la get-job-queue-snapshotcommande pour récupérer un instantané de l'utilisation de la capacité pour une file d'attente de tâches.

aws batch get-job-queue-snapshot \ --job-queue my-job-queue

La réponse varie en fonction de la politique de planification attachée à votre file d'attente de tâches. Choisissez l'onglet correspondant à votre type de politique de planification pour voir un exemple de réponse.

First-in, first-out (FIFO)

Voici un exemple de réponse pour une file de tâches FIFO. Comme une file d'attente FIFO n'utilise pas de politique de planification, la réponse n'inclut pas l'utilisation par partage.

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "ml.m5.large", "quantity": 9.0 } ], "lastUpdatedAt": 1700000000000 } }

Dans cet exemple, la file d'attente consomme un total de 9 instances pour l'ensemble des tâches distribuées.

Fair-share scheduling (FSS)

Voici un exemple de réponse pour une file d'attente de tâches équitable. L'queueUtilizationobjet contient un point-in-time instantané de la capacité totale consommée par toutes les tâches expédiées depuis la file d'attente, ainsi qu'une ventilation par partage.

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "NUM_INSTANCES", "quantity": 9.0 } ], "fairshareUtilization": { "activeShareCount": 2, "topCapacityUtilization": [ { "shareIdentifier": "team-a", "capacityUsage": [ { "capacityUnit": "NUM_INSTANCES", "quantity": 5.0 } ] }, { "shareIdentifier": "team-b", "capacityUsage": [ { "capacityUnit": "NUM_INSTANCES", "quantity": 4.0 } ] } ] }, "lastUpdatedAt": 1700000000000 } }

Dans cet exemple, le totalCapacityUsage champ indique que la file d'attente consomme un total de 9 instances. L'fairshareUtilizationobjet affiche la répartition par action. Le partage team-a consomme 5 instances et le partage en team-b consomme 4.

Quota management (QM)

Voici un exemple de réponse pour une file d'attente de tâches de gestion des quotas. L'queueUtilizationobjet contient un point-in-time instantané de la capacité totale consommée par toutes les tâches expédiées depuis la file d'attente, ainsi qu'une per-quota-share ventilation. L'frontOfQuotaSharesobjet montre le premier RUNNABLE travail par part de quota.

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "frontOfQuotaShares": { "quotaShares": { "team-a-share": [], "team-b-share": [] }, "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "ml.m5.large", "quantity": 9.0 } ], "quotaShareUtilization": { "topCapacityUtilization": [ { "quotaShareName": "team-a-share", "capacityUsage": [ { "capacityUnit": "ml.m5.large", "quantity": 5.0 } ] }, { "quotaShareName": "team-b-share", "capacityUsage": [ { "capacityUnit": "ml.m5.large", "quantity": 4.0 } ] } ] }, "lastUpdatedAt": 1700000000000 } }

Dans cet exemple, le totalCapacityUsage champ indique que la file d'attente consomme un total de 9 instances. L'quotaShareUtilizationobjet montre la per-quota-share répartition. Le partage de quotas team-a-share consomme 5 instances et le partage de quotas en team-b-share consomme 4. L'frontOfQuotaSharesobjet indique la première RUNNABLE tâche pour chaque part de quota, ainsi que la date à laquelle la tâche a atteint cette position pour la première fois.

Afficher le taux d'utilisation par action

Pour les files d'attente de travail soumises à une politique de planification fondée sur le partage équitable ou la gestion des quotas, la queueUtilization réponse de GetJobQueueSnapshot inclut un objet d'utilisation avec un topCapacityUtilization tableau répertoriant les principales parts actives par consommation.

Ces informations vous aident à :

  • Identifiez les actions qui consomment le plus de ressources.

  • Vérifiez que les ressources sont réparties entre les partages comme prévu.

  • Détectez les actions susceptibles de saturer ou de sous-utiliser leur allocation.

  • Déterminez s'il convient d'ajuster la configuration de votre politique de planification.

Pour plus d'informations sur les politiques de planification de partage équitable, consultez. Politiques de planification équitables

Pour plus d'informations sur les quotes-parts, consultezPartage des quotas.

Répertoriez les emplois de service par statut et partagez-les

Après avoir identifié la file d'attente globale et l'utilisation par partage, utilisez l'opération ListServiceJobsAPI pour rechercher les tâches de service qui contribuent activement à l'utilisation. Vous pouvez filtrer par statut de tâche pour voir les tâches qui sont RUNNING ou se trouvent dans un autre état. SCHEDULED Pour les files d'attente soumises à une politique de planification fondée sur le partage équitable ou la gestion des quotas, vous pouvez également filtrer par identifiant de partage afin de limiter les résultats à un partage spécifique.

Note

Les QUOTA_SHARE_NAME filtres SHARE_IDENTIFIER et sont les seuls filtres qui peuvent être combinés avec le jobStatus paramètre. Lorsque vous utilisez d'autres filtres, le jobStatus paramètre est ignoré.

Lister les offres d'emploi dans les services (AWS CLI)

Utilisez la list-service-jobscommande avec le --job-status paramètre pour filtrer par statut.

Consultez les tâches de service en cours dans votre file d'attente :

aws batch list-service-jobs \ --job-queue my-job-queue \ --job-status RUNNING

Pour les files d'attente soumises à une politique de planification équitable, utilisez le --filters paramètre with pour SHARE_IDENTIFIER répertorier les tâches correspondant à un partage spécifique. Pour les files d'attente soumises à une politique de planification de gestion des quotas, utilisez cette option pour QUOTA_SHARE_NAME répertorier les tâches correspondant à un partage de quotas spécifique. Cela est utile lorsque vous identifiez une part dont la consommation de capacité est élevée et que vous souhaitez savoir quels emplois sont responsables.

Répertoriez uniquement les tâches de RUNNING service correspondant à un partage dans une file d'attente de partage équitable :

aws batch list-service-jobs \ --job-queue my-job-queue \ --job-status RUNNING \ --filters name=SHARE_IDENTIFIER,values="team-a"

Pour les files d'attente soumises à une politique de planification de gestion des quotas, utilisez le filtre : QUOTA_SHARE_NAME

aws batch list-service-jobs \ --job-queue my-job-queue \ --job-status RUNNING \ --filters name=QUOTA_SHARE_NAME,values="my-quota-share"

Voici un exemple de réponse pour répertorier les tâches de service en cours filtrées par identifiant de partage dans une file d'attente de partage équitable.

{ "jobSummaryList": [ { "jobArn": "arn:aws:batch:us-east-1:123456789012:service-job/a4d6c728-8ee8-4c65-8e2a-9a5e8f4b7c3d", "jobId": "a4d6c728-8ee8-4c65-8e2a-9a5e8f4b7c3d", "jobName": "my-training-job", "serviceJobType": "SAGEMAKER_TRAINING", "status": "RUNNING", "shareIdentifier": "team-a", "createdAt": 1700000000000, "scheduledAt": 1700000060000, "startedAt": 1700000120000, "capacityUsage": [ { "capacityUnit": "ml.m5.large", "quantity": 5.0 } ], "latestAttempt": { "serviceResourceId": { "name": "TrainingJobArn", "value": "arn:aws:sagemaker:us-east-1:123456789012:training-job/my-training-job" } } } ] }

Dans cet exemple, la réponse inclut le shareIdentifier champ indiquant que la tâche appartient au team-a partage et le capacityUsage tableau indiquant que la tâche consomme 5 ml.m5.large instances. L'latestAttemptobjet contient l'identifiant de ressource de service que vous pouvez utiliser pour obtenir des informations supplémentaires sur le service cible.

Examiner une tâche de service spécifique

Après avoir identifié une tâche de service qui vous intéresse, utilisez l'DescribeServiceJobopération pour obtenir des informations complètes sur la tâche, notamment son statut actuel, les identifiants des ressources de service et des informations détaillées sur les tentatives.

Afficher des informations détaillées sur une tâche de service spécifique :

aws batch describe-service-job \ --job-id a4d6c728-8ee8-4c65-8e2a-9a5e8f4b7c3d

Cette commande renvoie des informations complètes sur la tâche, notamment :

  • Job ARN et statut actuel

  • Identifiants de ressources de service (tels que l'ARN de SageMaker la tâche de formation)

  • Planification de la priorité et configuration des nouvelles tentatives

  • Charge utile de la demande de service contenant les paramètres de service d'origine

  • Informations détaillées sur les tentatives avec heures de début et d'arrêt

  • Messages d'état provenant du service cible

Examiner le travail SageMaker de formation sous-jacent

Lorsque vous SageMaker surveillez les tâches de formation AWS Batch, vous pouvez accéder à la fois aux informations relatives aux AWS Batch tâches et aux détails des tâches de SageMaker formation sous-jacentes.

L'identifiant de ressource de service indiqué dans les détails de la tâche contient l'ARN de la tâche de SageMaker formation :

{ "latestAttempt": { "serviceResourceId": { "name": "TrainingJobArn", "value": "arn:aws:sagemaker:us-east-1:123456789012:training-job/my-training-job" } } }

Vous pouvez utiliser cet ARN pour obtenir des informations supplémentaires directement auprès de SageMaker :

aws sagemaker describe-training-job \ --training-job-name my-training-job

Surveillez l'avancement des tâches en vérifiant à la fois AWS Batch le statut et le statut des tâches de SageMaker formation. Le statut du AWS Batch poste indique le cycle de vie global du travail, tandis que le statut du poste de SageMaker formation fournit des informations spécifiques au service sur le processus de formation.