View a markdown version of this page

Realice un seguimiento de la utilización de la capacidad de trabajo - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Realice un seguimiento de la utilización de la capacidad de trabajo

AWS Batch proporciona varias operaciones de API que puede usar juntas para realizar un seguimiento de la utilización de la capacidad para los trabajos de servicio en una cola. El flujo de trabajo de supervisión depende del tipo de política de programación adjunta a la cola de trabajos.

Para las colas de trabajos que utilizan una política de programación de primero en entrar, primero en salir (FIFO):

  1. Compruebe la utilización total de las colas (). GetJobQueueSnapshot

  2. Enumere los trabajos por estado, como SCHEDULED y RUNNING (ListServiceJobs).

  3. Examine cualquier trabajo determinado (DescribeServiceJob).

En el caso de las colas de trabajo que utilizan una política de programación basada en el reparto justo (FSS) o la gestión de cuotas (QM):

  1. Compruebe la utilización total de las colas (). GetJobQueueSnapshot

  2. Ver la utilización por acción ()GetJobQueueSnapshot.

  3. Enumere los trabajos por estado y recurso compartido que contribuyen activamente a la utilización, como SCHEDULED y RUNNING (ListServiceJobs).

  4. Examine cualquier trabajo determinado (DescribeServiceJob).

En las siguientes secciones se explica cada paso en detalle.

Para obtener información sobre el seguimiento de la utilización de la capacidad para los trabajos de computación de ECS, EKS y Fargate, consulte. Realice un seguimiento de la utilización de la capacidad de procesamiento

Compruebe la utilización de las colas

El queueUtilization campo de la GetJobQueueSnapshotrespuesta proporciona una point-in-time vista de la cantidad de capacidad informática que consumen los trabajos enviados desde una cola. La capacidad se mide en función del número de instancias de los trabajos de servicio.

En el caso de las colas de trabajo que utilizan una política de programación de reparto equitativo o gestión de cuotas, la respuesta también incluye un desglose por acción para que pueda ver cómo se distribuye la capacidad entre las acciones. Para obtener más información, consulte Vea la utilización por acción.

Ver la AWS CLI utilización de la capacidad ()

Utilice el get-job-queue-snapshotcomando para recuperar una instantánea de la utilización de la capacidad de una cola de trabajos.

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

La respuesta varía en función de la política de programación adjunta a la cola de trabajos. Elija la pestaña correspondiente al tipo de política de programación para ver un ejemplo de respuesta.

First-in, first-out (FIFO)

El siguiente es un ejemplo de respuesta para una cola de trabajos de la FIFO. Como una cola FIFO no utiliza una política de programación, la respuesta no incluye el uso por recurso compartido.

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

En este ejemplo, la cola consume un total de 9 instancias en todos los trabajos despachados.

Fair-share scheduling (FSS)

El siguiente es un ejemplo de respuesta para una cola de trabajos repartida equitativamente. El queueUtilization objeto contiene una point-in-time instantánea de la capacidad total consumida por todos los trabajos enviados desde la cola, junto con un desglose por acción.

{ "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 } }

En este ejemplo, el totalCapacityUsage campo muestra que la cola consume un total de 9 instancias. El fairshareUtilization objeto muestra el desglose por acción. El recurso compartido team-a consume 5 instancias y el recurso compartido team-b consume 4 instancias.

Quota management (QM)

El siguiente es un ejemplo de respuesta para una cola de trabajos de administración de cuotas. El queueUtilization objeto contiene una point-in-time instantánea de la capacidad total consumida por todos los trabajos despachados desde la cola, junto con un desglose. per-quota-share El frontOfQuotaShares objeto muestra el primer RUNNABLE trabajo por cuota compartida.

{ "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 } }

En este ejemplo, el totalCapacityUsage campo muestra que la cola consume un total de 9 instancias. El quotaShareUtilization objeto muestra el per-quota-share desglose. La cuota de cuota team-a-share consume 5 instancias y la cuota de cuota team-b-share consume 4 instancias. El frontOfQuotaShares objeto muestra el primer RUNNABLE trabajo de cada cuota compartida, junto con la primera vez que el trabajo alcanzó ese puesto.

Vea la utilización por acción

En el caso de las colas de trabajo con una política de programación de reparto equitativo o de gestión de cuotas, la queueUtilization respuesta de GetJobQueueSnapshot incluye un objeto de utilización con una topCapacityUtilization matriz en la que se enumeran las principales acciones activas por consumo.

Esta información le ayuda a:

  • Identifique qué acciones consumen más recursos.

  • Compruebe que los recursos se distribuyen entre los recursos compartidos según lo previsto.

  • Detecte las acciones que puedan estar saturando o infrautilizando su asignación.

  • Determine si desea ajustar la configuración de su política de programación.

Para obtener más información sobre las políticas de programación equitativas, consulte. Políticas de programación de reparto justo

Para obtener más información sobre las cuotas compartidas, consulte. Cuotas compartidas

Enumere los trabajos de servicio por estado y por compartir

Tras identificar la cola general y el uso por recurso compartido, utilice la operación de ListServiceJobsAPI para encontrar los trabajos de servicio que contribuyen activamente a la utilización. Puede filtrar por estado de los trabajos para ver los trabajos que están RUNNING en otro estado o que se encuentran en otro estado. SCHEDULED En el caso de las colas con una política de programación de reparto equitativo o de gestión de cuotas, también puedes filtrar por identificador de reparto para limitar los resultados a un reparto específico.

nota

Los QUOTA_SHARE_NAME filtros SHARE_IDENTIFIER y son los únicos filtros que se pueden combinar con el parámetro. jobStatus Cuando se utilizan otros filtros, se ignora el jobStatus parámetro.

Listar trabajos de servicio (AWS CLI)

Utilice el list-service-jobscomando con el --job-status parámetro para filtrar por estado.

Vea los trabajos de servicio en ejecución en su cola:

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

En el caso de las colas con una política de programación de reparto equitativo, utilice el --filters parámetro with SHARE_IDENTIFIER para mostrar los trabajos de un reparto específico. En el caso de las colas con una política de programación de gestión de cuotas, utilícelo QUOTA_SHARE_NAME para enumerar los trabajos correspondientes a un reparto de cuotas específico. Esto resulta útil cuando se identifica un recurso compartido con un alto consumo de capacidad y se desea ver qué trabajos son responsables.

Enumere solo los trabajos de RUNNING servicio de una acción de una lista de reparto equitativo:

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

Para las colas con una política de programación de gestión de cuotas, utilice el filtro: 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"

El siguiente es un ejemplo de respuesta para enumerar los trabajos de servicio en ejecución filtrados por identificador de acciones en una cola de reparto equitativo.

{ "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" } } } ] }

En este ejemplo, la respuesta incluye el shareIdentifier campo que muestra que el trabajo pertenece al team-a recurso compartido y la capacityUsage matriz que muestra que el trabajo consume 5 instancias. ml.m5.large El latestAttempt objeto contiene el identificador de recursos de servicio que puede utilizar para obtener detalles adicionales del servicio de destino.

Examine un trabajo de servicio específico

Tras identificar un trabajo de servicio que le interese, utilice la DescribeServiceJoboperación para obtener información completa sobre el trabajo, incluido su estado actual, los identificadores de los recursos de servicio y la información detallada sobre los intentos.

Vea información detallada sobre un trabajo de servicio específico:

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

Este comando devuelve información completa sobre el trabajo, como:

  • el ARN del trabajo y estado actual,

  • Identificadores de recursos de servicio (como el ARN del trabajo de SageMaker formación)

  • la configuración de la prioridad de programación y reintentos,

  • la carga útil de solicitud de servicio que contiene los parámetros de servicio originales,

  • la información detallada sobre los intentos con las horas de inicio y finalización,

  • los mensajes de estado del servicio de destino.

Examine el trabajo de formación subyacente SageMaker

Al supervisar los trabajos de SageMaker formación AWS Batch, puede acceder tanto a la información del AWS Batch puesto como a los detalles del puesto de SageMaker formación subyacente.

El identificador de recursos de servicio en los detalles del trabajo contiene el ARN del trabajo de SageMaker formación:

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

Puedes usar este ARN para obtener detalles adicionales directamente de: SageMaker

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

Supervise el progreso del trabajo comprobando tanto AWS Batch el estado como el estado del trabajo de SageMaker formación. El estado del AWS Batch puesto muestra el ciclo de vida general del trabajo, mientras que el estado del puesto de SageMaker formación proporciona detalles específicos del servicio sobre el proceso de formación.