CPU-Beschränkungen

Auf dieser Seite wird beschrieben, wie Sie die Anzahl der CPUs für jede Cloud Run-Instanz angeben. Cloud Run-Containerinstanzen sind standardmäßig auf eine CPU beschränkt. Sie können diesen Wert wie auf dieser Seite beschrieben erhöhen oder verringern.

Auf dieser Seite wird auch beschrieben, wie Sie die Funktion CPU-Boost beim Starten aktivieren oder deaktivieren. Diese Funktion erhöht die CPU-Zuweisung während des Starts einer Instanz vorübergehend, um die Startlatenz zu reduzieren.

CPU-Limits festlegen und aktualisieren

Sie können CPU-Limits für Cloud Run-Dienste und -Jobs festlegen.

Standardmäßig ist jede Instanz auf 1 CPU beschränkt. Sie können diesen Wert mit einem beliebigen Ganzzahlwert bis zu maximal acht CPUs erhöhen.

CPU und Arbeitsspeicher

Im Folgenden sind die Mindestspeicheranforderungen für CPUs aufgeführt:

CPUs Mindestspeicher
4 2 GiB
6 3 GiB
8 4 GiB

Nur für Cloud Run-Dienste, wenn Sie weniger als 1 CPU verwenden möchten, können Sie einen beliebigen Wert zwischen 0,08 und 1 in Schritten von 0,01 auswählen. Jeder Wert über 1 muss eine ganze Zahl sein. Wenn Sie weniger als 1 CPU verwenden, werden die folgenden Anforderungen erzwungen:

Einstellung Anforderung
Speicher Es ist mindestens 0,5 CPUs erforderlich, um ein Speicherlimit größer als 512 MiB festzulegen.
Mindestens eine CPU ist erforderlich, um ein Speicherlimit größer als 1 GiB festzulegen.
Gleichzeitigkeit Für Maximale Gleichzeitigkeit muss 1 festgelegt werden.
Zugewiesene CPU Die CPU-Zuweisung darf nur auf die CPU-Zuordnung eingestellt werden, die während der Anfrageverarbeitung zugewiesen ist.
Ausführungsumgebung Sie müssen die Ausführungsumgebung der ersten Generation verwenden.

Für Cloud Run-Dienste

Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

Sie können CPU-Limits über die Cloud Console, die gcloud-Befehlszeile oder eine YAML-Datei festlegen, wenn Sie einen neuen Dienst erstellen oder eine neue Überarbeitung bereitstellen:

Console

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen wie gewünscht aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.

  4. Klicken Sie auf den Tab Container.

    Image

    • Wählen Sie das gewünschte CPU-Limit aus der Drop-down-Liste aus und verwenden Sie Benutzerdefiniert, wenn Sie weniger als 1 CPU verwenden möchten. Wählen Sie einen Wert von 1, 2, 4, 6 oder 8 CPUs aus oder für weniger als 1 CPU geben Sie einen Wert zwischen 0,08 und weniger als 1,00 in Schritten von 0,01 an. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.
  5. Klicken Sie auf Erstellen oder Bereitstellen.

Befehlszeile

Mit folgendem Befehl können Sie die CPU-Limits für einen bestimmten Dienst aktualisieren:

gcloud run services update SERVICE --cpu CPU

Ersetzen Sie:

  • SERVICE durch den Namen des Dienstes.
  • CPU durch das gewünschte CPU-Limit Geben Sie den Wert 1, 2, 4, 6 oder 8 CPUs oder für weniger als 1 CPU einen Wert zwischen 0,08 und weniger als 1,00 in Schritten von 0,01 an. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.

Sie können die CPU auch während der Bereitstellung mit dem folgenden Befehl festlegen:

gcloud run deploy --image IMAGE_URL --cpu CPU

Ersetzen Sie:

  • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Bei Verwendung von Artifact Registry hat die URL die Form REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. .
  • CPU mit dem Wert 1, 2, 4, 6 oder 8 CPUs oder für weniger als 1 CPU einen Wert von 0,08 bis weniger als 1,00 in Schritten von 0,01 angeben. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.

YAML

Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert. Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace hochladen. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aktualisieren Sie das Attribut cpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                cpu: CPU

    Ersetzen

    • SERVICE durch den Namen Ihres Cloud Run-Dienstes
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Bei Verwendung von Artifact Registry hat die URL die Form REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • CPU durch den gewünschten CPU-Limitwert Geben Sie den Wert 1, 2, 4, 6 oder 8 CPUs oder für weniger als 1 CPU einen Wert zwischen 0,08 und weniger als 1,00 in Schritten von 0,01 an. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.
    • REVISION durch einen neuen Überarbeitungsnamen oder löschen (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:
      • Beginnt mit SERVICE-
      • Enthält nur Kleinbuchstaben, Ziffern und -
      • Endet nicht mit -
      • Darf nicht mehr als 63 Zeichen enthalten
  3. Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:

    gcloud run services replace service.yaml

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Fügen Sie einer google_cloud_run_service-Ressource in Ihrer Terraform-Konfiguration unter template.spec.containers Folgendes hinzu: Ersetzen Sie 1000m durch die gewünschte CPU-Anzahl.

resources {
  limits = {
    # CPU usage limit
    # https://cloud.google.com/run/docs/configuring/cpu
    cpu = "1000m" # 1 vCPU

    # Memory usage limit (per container)
    # https://cloud.google.com/run/docs/configuring/memory-limits
    memory = "512Mi"
  }
}

Für Cloud Run-Jobs

Für einen Cloud Run-Job müssen Sie mindestens eine CPU festlegen.

So geben Sie die CPU für einen Cloud Run-Job an:

Console

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf den Tab Jobs und füllen Sie die Seite mit den anfänglichen Jobeinstellungen wie gewünscht aus, wenn Sie einen neuen Job konfigurieren. Klicken Sie auf den Job und dann auf Bearbeiten, wenn Sie einen vorhandenen Job konfigurieren.

  3. Klicken Sie auf Container, Variablen und Secrets, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.

  4. Klicken Sie auf den Tab Allgemein.

    Image

    • Wählen Sie das gewünschte CPU-Limit aus der Drop-down-Liste aus. Wählen Sie einen Wert von 1, 2, 4, 6 oder 8 CPUs aus. Für Jobs ist mindestens 1 CPU erforderlich. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.
  5. Klicken Sie auf Erstellen oder Aktualisieren.

Befehlszeile

  1. Aktualisieren Sie die CPU-Limits eines bestimmten Jobs mit dem folgenden Befehl:

    gcloud run jobs update JOB_NAME --cpu CPU

    Ersetzen Sie:

    • JOB_NAME durch den Namen des Jobs.
    • CPU durch das gewünschte CPU-Limit Geben Sie den Wert 1, 2, 4, 6 oder 8 CPUs an. Für Jobs ist mindestens 1 CPU erforderlich. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.

    Sie können die CPU auch festlegen, wenn Sie einen Job erstellen, indem Sie den folgenden Befehl verwenden:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --cpu CPU

    Ersetzen Sie:

    • JOB_NAME durch den Namen des Jobs.
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
    • CPU durch das gewünschte CPU-Limit Geben Sie den Wert 1, 2, 4, 6 oder 8 CPUs an. Für Jobs ist mindestens 1 CPU erforderlich. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.

YAML

Laden Sie die vorhandene Jobkonfiguration herunter und verwenden Sie den Befehl gcloud run jobs describe --format export, um bereinigte Ergebnisse im YAML-Format zu erhalten. Ändern Sie dann die unten beschriebenen Felder und laden Sie die geänderte YAML-Datei mit dem Befehl gcloud run jobs replace hoch. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Aktualisieren Sie das Attribut cpu:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE
              resources:
                limits:
                  cpu: CPU

    Ersetzen Sie CPU durch das gewünschte CPU-Limit. Geben Sie den Wert 1, 2, 4, 6 oder 8 CPUs an. Für Jobs ist mindestens 1 CPU erforderlich. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.

    Sie können auch weitere Konfigurationen angeben, z. B. Umgebungsvariablen oder Speicherlimits.

  3. Aktualisieren Sie die vorhandene Jobkonfiguration:

    gcloud run jobs replace job.yaml

CPU-Boost beim Starten festlegen (Dienste)

Die Funktion CPU-Boost beim Starten für Überarbeitungen bietet während der Instanzstartzeit und für 10 Sekunden nach dem Start der Instanz zusätzliche CPU.

Der tatsächliche CPU-Boost hängt von den Einstellungen für das CPU-Limit ab:

CPU-Limit Geboostete-CPU
0-1 2
2 4
4 8
6 8
8 8

Die zugewiesene Boost-CPU wird für die Dauer der Container-Startzeit in Rechnung gestellt. Wenn die Startzeit des Containers beispielsweise 15 Sekunden beträgt und Sie 2 CPUs zuweisen, werden Ihnen mit dem CPU-Boost beim Starten 4 CPUs während der (möglicherweise kürzeren) Startzeit der Instanz, einschließlich der 10 Sekunden nach dem Start Ihres Containers, und 2 CPUs während des restlichen Lebenszyklus des Containers berechnet.

Sie können den Start-CPU-Boost über die Google Cloud Console oder die Google Cloud-CLI aktivieren oder deaktivieren.

Console

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen wie gewünscht aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.

  4. Klicken Sie auf den Tab Container.

    Image

    • Klicken Sie auf das Kästchen Start-CPU-Boost, um die CPU-Boost beim Start zu aktivieren. Heben Sie die Auswahl für das Kästchen auf, um diese Funktion zu deaktivieren.
  5. Klicken Sie auf Erstellen oder Bereitstellen.

Befehlszeile

  1. Mit dem folgenden Befehl können Sie die CPU-Start-Boost für einen bestimmten Dienst aktivieren:

    gcloud run services update SERVICE --cpu-boost

    Ersetzen Sie SERVICE durch den Namen Ihres Dienstes.

    Sie können die Start-CPU-Boost während der Bereitstellung mit dem folgenden Befehl aktivieren:

    gcloud run deploy --image IMAGE_URL --cpu-boost

    Ersetzen Sie IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Bei Verwendung von Artifact Registry hat die URL die Form REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. .

  2. Mit dem folgenden Befehl können Sie die CPU-Start-Boost für einen bestimmten Dienst deaktivieren:

    gcloud run services update SERVICE --no-cpu-boost

    Ersetzen Sie SERVICE durch den Namen Ihres Dienstes.

    Sie können die Start-CPU-Boost während der Bereitstellung mit dem folgenden Befehl deaktivieren:

    gcloud run deploy --image IMAGE_URL --no-cpu-boost

YAML

Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert. Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace hochladen. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aktualisieren Sie das Attribut run.googleapis.com/startup-cpu-boost. Geben Sie dazu 'true' an, um die CPU-Start-Boost zu aktivieren, oder 'false', um die Deaktivierung vorzunehmen:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/startup-cpu-boost: 'true'

    Ersetzen

    • SERVICE durch den Namen Ihres Cloud Run-Dienstes
  3. Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:

    gcloud run services replace service.yaml

CPU-Einstellungen aufrufen

So rufen Sie die aktuellen CPU-Einstellungen für Ihren Cloud Run-Dienst auf:

Console

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf den gewünschten Dienst, um die Seite Dienstdetails zu öffnen.

  3. Klicken Sie auf den Tab Überarbeitungen.

  4. Im Detailbereich auf der rechten Seite ist die CPU-Einstellung auf dem Tab Container aufgelistet.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. Suchen Sie in der zurückgegebenen Konfiguration nach der CPU-Einstellung.

So rufen Sie die aktuellen CPU-Einstellungen für Ihren Cloud Run-Job auf:

Console

  1. Zu Cloud Run-Jobs

  2. Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.

  3. Klicken Sie auf den Tab Konfiguration.

  4. Suchen Sie die CPU-Einstellung in den Konfigurationsdetails.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl:

    gcloud run jobs describe JOB_NAME
  2. Suchen Sie in der zurückgegebenen Konfiguration nach der CPU-Einstellung.