Functions that don't have reserved concurrency defined need to be able to scale when necessary. AWS insists that you leave 100 invocations for such functions.
you can use upto Unreserved account concurrency minus 100 when defining reserved concurrency for your functions.
You can reserve up to the Unreserved account concurrency value that is shown, minus 100 for functions that don't have reserved concurrency. To throttle a function, set the reserved concurrency to zero. This stops any events from being processed until you remove the limit.
Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that aren't configured with a per-function limit.
https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html
Answer from shamanth Gowdra Shankaramurthy on Stack ExchangeAWS Lambda Reserved Concurrency
How does Lambda reserved concurrency interact with Cloudwatch Events?
Having trouble with the difference between reserved and provisioned concurrency
Lambda: Reserved Concurrency and SQS
Videos
Hey! Maybe this is a dumb question, maybe a coincidence.
We have a lambda configured to use Reserved Concurrency = 5.
Sometimes this lambda takes more than a minute run and, when we trigger this lambda with more than 50 requests ( it is fired by sqs ), we notice that the lambda returns 5 by 5 and it ends its execution all 5 together.
For example, we have a bunch of requests which takes 5 seconds to process each, if we trigger our lambda with 40 requests if one take more than 30s, the lambda return 5 of the results together after 30 seconds, even if the others takes less than 2 or 3s.
Is this a common behavior for lambdas with reserved concurrency?
It sends 5 requests, waits until all 5 executes then send more 5? Or it send 5 requests, when one ends it sends another one to keep 5 itens running concurrently?