Final answer:
AWS Lambda's concurrency limits dictate the number of functions you can execute at once, which can be increased upon request. Throttling occurs when the limit is reached. You can manage these limits manually or allow AWS Lambda to adjust dynamically.
Step-by-step explanation:
The limit to the number of AWS Lambda functions you can execute at once is not a fixed number but is controlled by AWS through concurrency limits.
Concurrency refers to the number of executions of your Lambda functions that can run simultaneously. Each AWS account has a default concurrency limit per region, which may vary based on the region and can be increased upon request to AWS support.
When you invoke a Lambda function, the request is counted against your account's concurrency limit. If the limit is reached, subsequent invocations will be throttled, and AWS Lambda will return a 'TooManyRequestsException' error.
However, you have the option to set up reserved concurrency for critical functions to ensure they can always be invoked up to the reserved amount, or use provisioned concurrency to keep functions initialized and ready to respond instantly.
To manage concurrency effectively, you may either control it manually by setting reserved concurrency levels for each function or let AWS Lambda manage it dynamically based on the function's usage.
Remember, though, additional charges may apply if you increase your concurrency limits, so it's important to plan and manage these settings according to your application's needs and budget.