每个实例的并发请求数上限(服务)

如需了解每个实例的并发请求数上限设置,请参阅概念文档

任何配置更改都会导致新修订版本的创建。后续修订版本也将自动采用此配置设置,除非您进行了明确更新。

对于 Cloud Run 服务,您可以在创建新服务部署新修订版本时使用 Google Cloud 控制台、gcloud 命令行或使用 .yaml 文件来设置每个实例的并发请求数上限:

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Run:

    转到 Cloud Run

  2. 如果您是要配置一个新服务来作为部署目标,请点击创建服务。如果您要配置现有服务,请点击该服务,然后点击修改和部署新的修订版本

  3. 如果您要配置新服务,请根据需要填写初始服务设置页面,然后点击容器、网络、安全性以展开服务配置页面。

  4. 点击容器标签页。

    映像

    • 根据需要在“每个容器的请求数上限”文本框中设置每个实例的并发请求数上限。
  5. 点击创建部署

命令行

如需设置每个实例的并发请求数上限,请使用以下命令:

gcloud run services update SERVICE --concurrency CONCURRENCY

替换

  • SERVICE 替换为您的服务名称。
  • CONCURRENCY 替换为每个实例的并发请求数上限。例如,以下命令会将并发请求数上限设置为 1:

    gcloud run services update SERVICE --concurrency 1

如果您更改了给定服务的每个实例的并发请求数上限,则新的修订版本将会采用此项更改。

如需还原为每个实例的并发请求数上限的默认设置 (80),请使用以下命令:

gcloud run services update SERVICE --concurrency default

SERVICE 替换为所配置服务的名称。

YAML

您可以使用 gcloud run services describe --format export 命令下载并查看现有服务配置,该命令会生成清理后的 YAML 格式的结果。然后按照后续说明修改字段,最后使用 gcloud run services replace 命令上传修改后的 YAML。请务必严格按照说明修改字段。

  1. 要查看和下载配置,请运行以下命令:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 更新 containerConcurrency 特性:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containerConcurrency: CONCURRENCY

    替换

    • SERVICE 替换为您的 Cloud Run 服务的名称
    • IMAGE_URL 替换为对容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/hello:latest。 如果您使用 Artifact Registry,则必须预先创建制品库 REPO_NAME。网址格式为 REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
    • CONCURRENCY 替换为每个实例的并发请求数上限。
    • REVISION 替换为新的修订版本名称或者将其删除(如果存在)。如果您提供新的修订版本名称,则该名称必须满足以下条件:
      • 开头为 SERVICE-
      • 仅包含小写字母、数字和 -
      • 不以 - 结尾
      • 不超过 63 个字符
  3. 使用以下命令将服务替换为其新配置:

    gcloud run services replace service.yaml

Terraform

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

将以下内容添加到 Terraform 配置中的 template 下的 google_cloud_run_v2_service 资源中。将 80 替换为所需的并发请求数上限。

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-concurrency"
  location = "us-central1"

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    # Maximum concurrent requests
    max_instance_request_concurrency = 80
  }
}

查看并发设置

如需查看 Cloud Run 服务的当前并发设置,请按照以下所述操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Run:

    转到 Cloud Run

  2. 点击您感兴趣的服务以打开“服务详细信息”页面。

  3. 点击修订版本标签页。

  4. 在右侧的详细信息面板中,“容器”标签页下列出了并发设置。

命令行

  1. 使用以下命令:

    gcloud run services describe SERVICE
  2. 在返回的配置中找到并发设置。