View a markdown version of this page

Verfolgen Sie die Kapazitätsauslastung von Rechenaufträgen - AWS Batch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verfolgen Sie die Kapazitätsauslastung von Rechenaufträgen

AWS Batch bietet mehrere API-Operationen, die Sie zusammen verwenden können, um die Kapazitätsauslastung für ECS-, EKS- und Fargate-Rechenjobs in einer Warteschlange zu verfolgen. Der Workflow für die Überwachung hängt von der Art der Planungsrichtlinie ab, die Ihrer Job-Warteschlange zugeordnet ist.

Für Jobwarteschlangen, die eine FIFO-Scheduling-Richtlinie (First-In, First Out) verwenden:

  1. Überprüfen Sie die gesamte Warteschlangenauslastung (). GetJobQueueSnapshot

  2. Listet Jobs nach Status auf, z. B. RUNNABLE und RUNNING (ListJobs).

  3. Untersuchen Sie einen beliebigen Job (DescribeJobs).

Für Job-Warteschlangen, die eine Fair-Share-Scheduling-Richtlinie (FSS) verwenden:

  1. Überprüfen Sie die gesamte Warteschlangenauslastung (). GetJobQueueSnapshot

  2. Auslastung pro Aktie anzeigen (GetJobQueueSnapshot).

  3. Listet Jobs nach Status und Anteil auf, die aktiv zur Auslastung beitragen, z. B. RUNNABLE und RUNNING (ListJobs).

  4. Untersuchen Sie einen beliebigen Job (DescribeJobs).

In den folgenden Abschnitten werden die einzelnen Schritte detailliert beschrieben.

Informationen zur Nachverfolgung der Kapazitätsauslastung für Serviceaufträge finden Sie unterVerfolgen Sie die Kapazitätsauslastung von Serviceaufträgen.

Überprüfen Sie die Auslastung der Warteschlange

Das queueUtilization Feld in der GetJobQueueSnapshotAntwort bietet einen point-in-time Überblick darüber, wie viel Rechenkapazität von Jobs verbraucht wird, die aus einer Warteschlange versendet werden. Die Kapazität wird CPUs für Rechenaufträge in v gemessen.

Bei Job-Warteschlangen, die eine Fair-Share-Scheduling-Richtlinie verwenden, beinhaltet die Antwort auch eine Aufschlüsselung pro Aktie, sodass Sie sehen können, wie die Kapazität auf die Shares verteilt ist. Weitere Informationen finden Sie unter Auslastung pro Aktie anzeigen.

Kapazitätsauslastung anzeigen ()AWS CLI

Verwenden Sie den get-job-queue-snapshotBefehl, um einen Snapshot der Kapazitätsauslastung für eine Job-Warteschlange abzurufen.

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

Die Antwort hängt von der Planungsrichtlinie ab, die Ihrer Auftragswarteschlange zugeordnet ist. Wählen Sie die Registerkarte für Ihren Terminplanungsrichtlinientyp, um eine Beispielantwort zu sehen.

First-in, first-out (FIFO)

Im Folgenden finden Sie eine Beispielantwort für eine FIFO-Jobwarteschlange, in der Rechenaufträge ausgeführt werden. Da eine FIFO-Warteschlange keine Planungsrichtlinie verwendet, beinhaltet die Antwort keine Nutzung pro Aktie.

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "vCPU", "quantity": 96.0 } ], "lastUpdatedAt": 1700000000000 } }

In diesem Beispiel verbraucht die Warteschlange insgesamt 96 V für alle versendeten CPUs Aufträge.

Fair-share scheduling (FSS)

Im Folgenden finden Sie eine Beispielantwort für eine Warteschlange mit Fair-Share-Jobs. Das queueUtilization Objekt enthält eine point-in-time Momentaufnahme der Gesamtkapazität, die von allen versendeten Aufträgen aus der Warteschlange verbraucht wurde, sowie eine Aufschlüsselung nach Teilen.

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "vCPU", "quantity": 192.0 } ], "fairshareUtilization": { "activeShareCount": 2, "topCapacityUtilization": [ { "shareIdentifier": "team-a", "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 128.0 } ] }, { "shareIdentifier": "team-b", "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 64.0 } ] } ] }, "lastUpdatedAt": 1700000000000 } }

In diesem Beispiel zeigt das totalCapacityUsage Feld, dass die Warteschlange insgesamt 192 V verbraucht. CPUs Das fairshareUtilization Objekt zeigt die Aufschlüsselung pro Aktie. Die Aktie team-a verbraucht 128 V CPUs und die Aktie team-b verbraucht 64 V. CPUs

Auslastung pro Aktie anzeigen

Bei Job-Warteschlangen mit einer Fair-Share-Scheduling-Richtlinie GetJobQueueSnapshot enthält die queueUtilization Antwort von ein fairshareUtilization Objekt mit einem topCapacityUtilization Array, das die aktivsten Shares nach Verbrauch auflistet.

Diese Informationen helfen Ihnen:

  • Identifizieren Sie, welche Aktien die meisten Ressourcen verbrauchen.

  • Stellen Sie sicher, dass Fair-Share-Scheduling die Ressourcen erwartungsgemäß verteilt.

  • Ermitteln Sie Aktien, deren Zuteilung möglicherweise ausgelastet oder nicht ausgeschöpft ist.

  • Stellen Sie fest, ob Sie die Gewichtung Ihrer Anteile in Ihrer Terminplanung anpassen möchten.

Weitere Informationen zu Fair-Share-Scheduling-Richtlinien finden Sie unter. Fair-Share-Terminplanungsrichtlinien

Rechenaufträge nach Status und Anteil auflisten

Nachdem Sie die gesamte Warteschlange und die Auslastung pro Share identifiziert haben, verwenden Sie den ListJobsAPI-Vorgang, um die Rechenjobs zu finden, die aktiv zur Auslastung beitragen. Sie können nach Auftragsstatus filtern, um Jobs zu sehenRUNNING, die sich in einem anderen Status befinden oder RUNNABLE sich in einem anderen Status befinden. Bei Warteschlangen mit einer Fair-Share-Terminplanungsrichtlinie können Sie auch nach der Share-ID filtern, um die Ergebnisse auf einen bestimmten Share einzugrenzen.

Anmerkung

Der SHARE_IDENTIFIER Filter ist der einzige Filter, der mit dem Parameter kombiniert werden kann. jobStatus Wenn Sie andere Filter verwenden, wird der jobStatus Parameter ignoriert.

Rechenaufträge auflisten (AWS CLI)

Verwenden Sie den Befehl list-jobs mit dem --job-status Parameter, um nach Status zu filtern.

Sehen Sie sich laufende Rechenjobs in Ihrer Warteschlange an:

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

Rechenaufträge anzeigen, die darauf warten, versendet zu werden:

aws batch list-jobs \ --job-queue my-job-queue \ --job-status RUNNABLE

Verwenden Sie für Warteschlangen mit einer Fair-Share-Scheduling-Richtlinie den --filters Parameter with, SHARE_IDENTIFIER um Jobs für einen bestimmten Share aufzulisten. Dies ist nützlich, wenn Sie eine Aktie mit hohem Kapazitätsverbrauch identifizieren und herausfinden möchten, welche Jobs dafür verantwortlich sind.

Nur RUNNING Rechenjobs für eine Aktie aus einer Fair-Share-Warteschlange auflisten:

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

Im Folgenden finden Sie ein Antwortbeispiel für die Auflistung laufender Rechenaufträge.

{ "jobSummaryList": [ { "jobArn": "arn:aws:batch:us-east-1:123456789012:job/b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f", "jobId": "b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f", "jobName": "my-data-processing-job", "status": "RUNNING", "shareIdentifier": "team-a", "createdAt": 1700000000000, "startedAt": 1700000120000, "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 4.0 } ], "container": { "exitCode": null }, "jobDefinition": "arn:aws:batch:us-east-1:123456789012:job-definition/my-job-def:1" } ] }

Untersuchen Sie einen bestimmten Rechenjob

Nachdem Sie einen interessanten Rechenauftrag identifiziert haben, verwenden Sie den DescribeJobsVorgang, um umfassende Informationen über den Job zu erhalten, einschließlich seines aktuellen Status, der Containerdetails und der Ressourcenkonfiguration.

Detaillierte Informationen zu einem bestimmten Rechenjob anzeigen:

aws batch describe-jobs \ --jobs b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f

Dieser Befehl gibt umfassende Informationen über den Job zurück, darunter:

  • Job-ARN und aktueller Status

  • Container-Konfiguration und Ressourcenanforderungen (V CPUs und Speicher)

  • Details zur Auftragsdefinition und zur Rechenumgebung

  • Priorität einplanen und Konfiguration erneut versuchen

  • Detaillierte Informationen zu den Versuchen mit Start- und Stoppzeiten

  • Logstream-Informationen für den Zugriff auf Container-Logs