AWS Lambda Function Concurrency and Throttling
Instruction: Describe how AWS Lambda manages function concurrency and throttling, and how to configure these settings.
Updated
Example Answer
Concurrency is the number of requests being handled at the same time. Reserved concurrency sets aside capacity for a function and also caps how much it can consume; it does not initialize warm environments. Provisioned concurrency prepares execution environments in advance and has an additional cost. I would use reserved concurrency to protect a downstream database and provisioned concurrency when a measured latency target justifies it. Neither removes every failure or guarantees that all traffic avoids initialization: bursts can exceed the provisioned allocation, and environment resets still matter. I would monitor throttles and the traffic actually served by provisioned capacity.
Design example
If a dependency can safely sustain 40 simultaneous requests, setting a function cap near that tested limit may protect it. That cap must account for other clients and the connections each invocation uses. Separately choose a provisioned allocation based on the expected interactive load; do not equate it with the total concurrency ceiling.
Test traffic below and above the allocation, and verify what happens at the reserved limit. A synchronous throttle response needs a caller policy; queued work needs age and backlog monitoring.
Practice follow-up
What would you measure before increasing reserved or provisioned concurrency?
Sources
Lambda reserved concurrency; Lambda provisioned concurrency behavior; Lambda lifecycle and resets.