Learn how to set the maximum number of requests that can be processed simultaneously by a given container instance in Knative serving. Learn more about concurrency.
Any configuration change leads to the creation of a new revision. Subsequent revisions will also automatically get this configuration setting unless you make explicit updates to change it.
You can configure concurrency settings using the Google Cloud console, or the Google Cloud CLI when you deploy a new service or update an existing service and deploy a revision:
Console
Go to Knative serving in the Google Cloud console:
Click Create Service if you are configuring a new service you are deploying to. If you are configuring an existing service, click on the service, then click Edit & Deploy New Revision.
Under Advanced settings, click Container.
Set the desired concurrency value in the text box Maximum requests per container.
Click Next to continue to the next section.
In the Configure how this service is triggered section, select which connectivity you would like to use to invoke the service.
Click Create to deploy the image to Knative serving and wait for the deployment to finish.
Command line
For existing services, set the maximum number of concurrent requests by running the
gcloud run services update
command with the--concurrency
parameter:gcloud run services update SERVICE --concurrency CONCURRENCY
Replace:
- SERVICE with the name of your service.
- CONCURRENCY with the maximum number of
concurrent requests per container instance. Specify
default
to clear any concurrency settings:--concurrency default
.
For new services, set the maximum number of concurrent requests by running the
gcloud run deploy
command with the--concurrency
parameter:gcloud run deploy SERVICE --image=IMAGE_URL --concurrency CONCURRENCY
Replace:
- SERVICE with the name of your service.
- IMAGE_URL with a reference to the container image, for
example,
gcr.io/myproject/my-image:latest
. - CONCURRENCY with the maximum number of
concurrent requests per container instance. Specify
default
to clear any concurrency settings:--concurrency default
.
YAML
You can download the configuration of an existing service into a
YAML file with the gcloud run services describe
command by using the
--format=export
flag.
You can then modify that YAML file and deploy
those changes with the gcloud beta run services replace
command.
You must ensure that you modify only the specified attributes.
Download the configuration of your service into a file named
service.yaml
on local workspace:gcloud run services describe SERVICE --format export > service.yaml
Replace SERVICE with the name of your Knative serving service.
In your local file, update the
containerConcurrency
attribute:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: spec: containerConcurrency: CONCURRENCY
Replace:
- SERVICE with the name of your Knative serving service
- CONCURRENCY with the maximum number of concurrent
requests per container instance. Specify
default
to clear the concurrency settings:--concurrency default
.
Replace the service with its new configuration using the following command:
gcloud beta run services replace service.yaml