How is the Burst Capacity related to the Baseline?


I have a function with a steady load of 1000 concurrent function invocations.

The question is, how is the initial burst calculated? Is it based from zero or based from the function baseline 1000 in this case?

With zero based and a Burst Limit of 3000 the function can scale to 3000 concurrency. With baseline the function can burst to 4000 concurrency.

asked a year ago115 views
2 Answers
Accepted Answer

Lambda functions run in execution environments. The burst limit is the number of new execution environments that need to be created to handle the requests. We use a bucket algorithm with a predefined token capacity (500 / 1,000 / 3,000, depending on the region) and a fixed refill rate of 500 tokens / min. When we need to create a new execution environment, we first take a token from the bucket, if one exists. If the bucket is empty, the request is throttled.

This means that in the larger regions for example, if you are running at a steady 1,000 concurrency for some period of time, which allows the bucket to get full (6 minutes), you will be able to invoke additional 3,000 concurrent functions and get to 4,000 concurrency immediately.

Note that the burst limit is shared across all functions in the account and that you can't scale beyond the account's concurrency limit, which is 1,000 by default.

profile picture
answered a year ago

See below the quote from the documentation here. This implies the total concurrency you can have is 3000 and this is only applicable to the following regions US West (Oregon), US East (N. Virginia), Europe (Ireland). If you need additional concurrency, you can raise a request for quote increase for your Account and the region you are deploying your lambda functions.

"Your functions' concurrency is the number of instances that serve requests at a given time. For an initial burst of traffic, your functions' cumulative concurrency in a Region can reach an initial level of between 500 and 3000, which varies per Region. Note that the burst concurrency quota is not per-function; it applies to all of your functions in the Region."

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions