Each account has a concurrency limit in Lambda. This limit specifies the number of function invocations that can be running at the same time. Each function can reserve a chunk of the account’s concurrency limit, guaranteeing the function exactly that much concurrency. Otherwise, a function will run off the unreserved concurrency limit.

When the concurrency limit is hit, Lambda will not invoke a function and will throttle it instead. Blue Matador monitors your functions for throttles so you know when you need to adjust your concurrency.

Troubleshooting Throttling


Throttling can occur for any of the following reasons:

  • Code that writes to event sources malfunctioned and generated more events than expected
  • The number of concurrent function invocations has increased due to legitimate traffic
  • The function is running on unreserved concurrency and another function has exhausted your unreserved concurrency

 

Troubleshooting Throttling


If your function has been throttled due to erroneous events, fix the code sending events. Otherwise, you’ll have to tweak your concurrency settings. If the function is already running on reserved concurrency, you’ll have to increase the amount it has reserved. If it’s running in unreserved concurrency, you’ll want to configure it to use reserved concurrency. Finally, you may have to request a limit increase from AWS to increase the total concurrency your account allowed.

 

Resources